@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");
}
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vyrkmod
Пишу на php. И не стыдно.
$_FILES['img_preview']['tmp_name'] и $_FILES['img_preview']['name']
Подозреваю что форма там одна, так что второй вариант не работает.
Ответ написан
@Xfer
1.Попробуйте обновить картинку руками прямым sql запросом.
2.Проверить корректность переданных переменных, особенно id
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект
25 апр. 2024, в 10:41
2000 руб./за проект