您好,我正在尝试更新mysql表中的一列,但我无法使其正常工作。
当我尝试单击确认时,它不会更改任何内容。
orders.php
<?php while ($row = mysqli_fetch_array($results)) { ?>
<tr>
<td><?php echo $row['fullname']; ?></td>
<td><?php echo $row['address']; ?></td>
<td><?php echo $row['mobile']; ?></td>
<td><?php echo $row['order_item']; ?></td>
<td><?php echo $row['quantity']; ?></td>
<td><?php echo $row['total_amount']; ?></td>
<td><?php echo $row['payment']; ?></td>
<td><?php echo $row['status']; ?></td>
<td>
<a href="vieworders.php?pending=<?php echo $row['id']; ?>" class="edit_btn" onclick="return confirm('Update status?');">Pending</a>
</td>
<td>
<a href="vieworders.php?confirm=<?php echo $row['id']; ?>" class="del_btn" onclick="return confirm('Update status?');">Confirm</a>
</td>
</tr>
<?php } ?>
admin.php
if (isset($_POST['pending'])) {
$pending = "Pending";
$id = $_POST['id'];
mysqli_query($db, "UPDATE order_information SET status='$pending' WHERE id=$id");
array_push($success, "Update SUCCESS");
}
if (isset($_POST['confirm'])) {
$confirm = "Confirm";
$id = $_POST['id'];
mysqli_query($db, "UPDATE order_information SET status='$confirm' WHERE id=$id");
array_push($success, "Update SUCCESS");
}
发布于 2018-08-20 03:18:45
当您通过单击链接发出Get请求时,您的脚本上会出现http Post。
试试这个吧
if (isset($_REQUEST['pending'])) {
$pending = "Pending";
$id = mysqli_real_escape_string($db,$_REQUEST['id']);
mysqli_query($db, "UPDATE order_information SET status='$pending' WHERE id=$id");
array_push($success, "Update SUCCESS");
}
if (isset($_REQUEST['confirm'])) {
$confirm = "Confirm";
$id = mysqli_real_escape_string($db,$_REQUEST['id']);
mysqli_query($db, "UPDATE order_information SET status='$confirm' WHERE id=$id");
array_push($success, "Update SUCCESS");
}
请注意,我忽略了您的输入...这是一个很好的习惯,可以让你远离那些尝试SQL注入的黑客
我希望这对你有帮助。请不要介意我生疏的打字。仍未使用移动应用程序
发布于 2018-08-20 04:06:59
您的href转到vieworders.php,这是一个$_GET,您是如何链接admin.php的。在vieworders.php中,您的id将在$_GET中。
https://stackoverflow.com/questions/51919742
复制相似问题