у вас есть «update-details.php», но вы ссылаетесь на «update-docket.php» в действии формы. Таким образом, действие формы перенаправляет в другой файл.
Как указано @thisGuyHasTwoThumbs, ваша строка местоположения неверна.
header('Location: /url');
exit();
Вы также хотите exit()
, поскольку это предотвратит любое выполнение кода после этой строки.
https://secure.php.net/manual/en/function.header.php
https://secure.php.net/manual/en/function.exit.php
Jus для деталей:
"update prod_details SET rdocket='$Quantity1' WHERE id='$id'"
Будет выглядеть намного чище и его легче читать, как:
"UPDATE `prod_details` SET `rdocket` = '$Quantity1' WHERE `id` ='$id'"
Сохраняет слова MySQL заглавными. Перенос имен столбцов и таблиц в обратные метки предотвратит ошибку " MySQL serverd word "
Как это сделать:
<form class="form-horizontal" action="update-docket.php" method="post" name="myform" autocomplete="off">
<?php
if (!empty( $Quantity1) )
{
$query = "UPDATE `prod_details` SET `rdocket` = '$Quantity1' WHERE `id` ='$id'";
if( mysqli_query( $link, $query ) )
{
header( 'Location: /docket-details.php' );
exit();
} else {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
}
Переменная $Quantity1
открыта для SQL-инъекции. Чтобы решить эту проблему, вы можете экранировать переменную, если она является строкой, но вы должны использовать подготовленный оператор .