$id = intval($_GET['id']);
$sql = mysqli_query($con, "UPDATE `articles` SET `title` = '".$data['title']."',
`text` = '" .$data['text']."', `author_id` = '" .$author."'
WHERE id = '$id'");
При переходе на страницу $id берется корректно, но при нажатии кнопки "Обновить" айдишник сбрасывается и соответственно обновляется статья с id = 0.
В чем ошибка?
проверьте что в $_GET['id'] в реальности. Inval может возвращать 0 в целом ряде случаев.
Посмотрите логи, какой запрос улетает.
Так же у меня вопросы к экранированию переменной WHERE id = '$id'"); разве не так WHERE id = " . $id); ???
Iossarian, какой кнопки то? Покажите целиком код скрипта.. сильно подозреваю, что "кнопка" - это ссылка на какую-то страницу/скрипт, которая не передает get параметров. Вы выше написали, что
Кнопка на обновление данных о статье в БД. Ловиться по имени. Стоит условие