Задать вопрос
@eellazy

Как обновить ссылку на изображение в БД?

Всем привет!
Картинки без проблем добавляются в БД. Но при редактировании никак не могу сделать чтобы они перезаписовались в БД. К примеру я добавил новость с фотографией. При редактировании я хочу изменить фото. Загружаю новое и сохраняю. У меня картинки даже не выгружаються

Рабочий скрипт добавления новости
if (isset($_POST['add-note'])) {
    $title = strip_tags(trim($_POST['title']));
    $category = $_POST['category'];
    $status = $_POST['status'];
    $text = $_POST['text'];
    $date = $_POST['date'];


    $target = "../../../oc-content/upload/image/preview" . time() . "_" . basename($_FILES['img_preview']['name']);

    if (file_exists($_FILES['img_preview']['tmp_name']) || is_uploaded_file($_FILES['img_preview']['tmp_name'])) {
        $img_preview = "preview".time()."_".basename($_FILES['img_preview']['name']);
    } else {
        $img_preview = '';
    }

    move_uploaded_file($_FILES['img_preview']['tmp_name'], $target);

    mysqli_query($connection, "INSERT INTO oc_notes(date, title, category, status, text, img_preview)
                                VALUES ('$date','$title','$category','$status','$text','$img_preview')");
    mysqli_close($connection);
    header("Location: ../notes");
}


Скрипт редактирования новсти
if (isset($_POST['edit-note'])){
    $title = strip_tags(trim($_POST['title']));
    $category = $_POST['category'];
    $status = $_POST['status'];
    $text = $_POST['text'];

    $target = "../../../oc-content/upload/image/preview" . time() . "_" . basename($_FILES['img_preview']['name']);

    if (file_exists($_FILES['img_preview']['name']) || is_uploaded_file($_FILES['img_preview']['name'])) {
        $img_preview = '';
    } else {
        $img_preview = "preview".time()."_".basename($_FILES['img_preview']['name']);
    }

    move_uploaded_file($_FILES['img_preview']['tmp_name'], $target);

    mysqli_query($connection, "UPDATE oc_notes SET title='$title', category='$category', status='$status', text='$text', img_preview='$img_preview' WHERE id = " .$_GET['id']);
    mysqli_close($connection);
    header("Location: ../notes");
}
  • Вопрос задан
  • 351 просмотр
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@vyrkmod
Пишу на php. И не стыдно.
$_FILES['img_preview']['tmp_name'] и $_FILES['img_preview']['name']
Подозреваю что форма там одна, так что второй вариант не работает.
Ответ написан
@Xfer
1.Попробуйте обновить картинку руками прямым sql запросом.
2.Проверить корректность переданных переменных, особенно id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы