Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с изменение данных в базе данных через php

... Ученик (185), на голосовании 1 год назад
Добрый вечер, написал код для изменения данных, но он не работает и не могу понять почему, потому что прописывал то же самое, но с другими таблицами и там все работает

Логика изменения
 require 'config/database.php'; 

if(isset($_POST['submit'])){
$title = filter_var($_POST['title'], FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$price = filter_var($_POST['price'], FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$thumbnail = $_FILES['thumbnail'];

if(!$title){
$_SESSION['edit-product']= "Введите заголовок";
}elseif(!$price){
$_SESSION['edit-product'] = "Введите цену";
}elseif(!$thumbnail['name']){
$_SESSION['edit-product']= "Загрузите фото";
}else{
//удалите существующую фото, если загружено новое фото
if($thumbnail['name']){
$previous_thumbnail_path = '../images/' . $previous_thumbnail_name;
if($previous_thumbnail_path){
unlink($previous_thumbnail_path);
}
$time = time(); // сделать загружаемое название изображения уникальным, используя текущую временную метку
$thumbnail_name = $time . $thumbnail['name'];
$thumbnail_tmp_name = $thumbnail['tmp_name'];
$thumbnail_destination_path = '../images' . $thumbnail_name;
//убедитесь, что файл является изображением
$allowed_files = ['png', 'jpg', 'jpeg'];
$extension = explode('.', $thumbnail_name);
$extension = end($extension);
if(in_array($extension, $allowed_files)){
//убедитесь, что изображение не слишком большое. (3 мб+)
if($thumbnail['size'] < 10_000_000){
move_uploaded_file($thumbnail_tmp_name, $thumbnail_destination_path);
}else{
$_SESSION['edit-product'] = "Файл слишком большой ";
}
}else{
$_SESSION['edit-product'] = "файл должен быть 'png', 'jpg', 'jpeg'";
}
}
}
if(isset($_SESSION['edit-product'])){
$_SESSION['edit-product-data'] = $_POST;
//перенаправление на страницу управления формой, если форма была недействительной
header('location: ' . ROOT_URL . 'admin/edit-product.php');
die();
}else{
//установите название фото, если была загружена новая, сохранив старое название фото
$thumbnail_to_insert = $thumbnail_name ?? $previous_thumbnail_name;
$query = "UPDATE products SET title='$title', price='$price', thumbnail='$thumbnail_to_insert' WHERE id= $id LIMIT 1";
$result = mysqli_query($connection, $query);
if(!mysqli_errno($connection)){
$_SESSION['edit-product-success'] = "товар обновлен";
header('location: ' . ROOT_URL . 'admin/');
die();
}
}
}
header('location: ' . ROOT_URL . 'admin/edit-product.php');
die();
форма изменения

Голосование за лучший ответ
Михаил Авчиников Мастер (1807) 1 год назад
в php скажем так вообще не разбираюсь, из за этого себе голову ломать не хочу, я так думаю что смог бы сделать чтоб код работал, но голову ломать не хочу, перезадавай вопрос пока не помогут, уверен что тебе помогут.

require 'config/database.php';

У тебя там 2 файла php может где то не идет подключение к базе правильное.
Логин пароль.
EVK IT Сервис К Мыслитель (5226) 1 год назад
Ошибки выдает?
...Ученик (185) 1 год назад
нет
EVK IT Сервис К Мыслитель (5226) ..., Вначале скрипта вставь
 error_reporting(E_ALL); 
Должна показать ошибки
Сергей Сулимов Оракул (50658) 1 год назад
ну так если ошибки не выдает, значит работает, куйле ты нам тут мозги ипёшь!
Похожие вопросы