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

В чем ошибка в php скрипте редактирования данных в бд?

Нужно сделать редактирование строки базы данных для сайта. Чтобы пользователь, на данный момент любой (пока что учусь) мог зайти на сайт и отредактировать выбранную им строку. Результат выдает true, изменений никаких в таблице не происходит. Склоняюсь к тому, что проблема в том, что не указан id.

P.s БД books;
P.P.s Название таблицы orders;

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
require_once 'connect.php'; // подключаем скрипт
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database) 
        or die("Ошибка " . mysqli_error($link)); 
     
    if ($link) {
        echo "yes";
    } else {
        echo "no";
    }
     
// если запрос POST 
if(isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['id'])){
 
    $id = htmlentities(mysqli_real_escape_string($link, $_POST['id']));
    $name = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
    $phone = htmlentities(mysqli_real_escape_string($link, $_POST['phone']));
     
    $query ="UPDATE orders SET name='$name', phone='$phone' WHERE id='$id'";
    $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 
 
    if($result)
        echo "Данные обновлены"; 
}
         
// закрываем подключение
mysqli_close($link);
?>

        <h2>Изменить номер телефона</h2>
            <form method='POST'>
            <input type='hidden' name='id' value='$id' />
            <p>Введите Имя:<br> 
            <input type='text' name='name' value='$name' /></p>
            <p>Введите номер: <br> 
            <input type='text' name='phone' value='$phone' /></p>
            <input type='submit' value='Сохранить'>
            </form>    

</body>
</html>
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
// если запрос POST
if(isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['id'])){
это нифига не гарантирует что запрос пост
$query ="UPDATE `orders` SET `name`='$name', `phone`='$phone' WHERE `id`='$id'";
var_dump($query);

и пробуйте его через консоль/майадмин запустить, скорее всего "что то пошло не так" при передаче переменных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽