【发布时间】:2013-11-01 05:33:28
【问题描述】:
删除成功,页面重定向,但删除后的url是http://localhost:/manage_items.php?yesdelete=23这是为什么?应该是manage_items.php
while ($row = $get_products->fetch()) {
$item_id = $row['item_id'];
$user_id = $row['user_id'];
$item_name = $row['item_name'];
$date = $row['add_date'];
$image = $row['photopath'];
$products .= "<br/><img src = $image><img> Item ID: $item_id UserID: $user_id NAME:
$item_name Added on: $date  
<a href='item_edit.php?pid=$item_id'>Edit</a> 
<a href='manage_items.php?deleted=$item_id'>Delete</a>";
}
//delete Item
if(isset($_GET['deleted'])) {
echo 'delete this product?'.$_GET['deleted'].'<a
href="manage_items.php?yesdelete='.$_GET['deleted'].'">Yes<a/>
/ <a href ="manage_items.php">No</a>';
exit();
}
if(isset($_GET['yesdelete'])) {
$deleteid = $_GET['yesdelete'];
$sql = $db->exec("DELETE FROM item WHERE `item_id` = '$deleteid' LIMIT 1");
$image_delete = 'file_to/$deleteid';
if(file_exists($image_delete)) {
unlink($image_delete);
}
header("Location: manage_items.php");
exit();
}
【问题讨论】:
-
1. 您的代码易受 sql 注入攻击 2. 您的代码易受 XSS 攻击
-
尝试不同的浏览器,看看是否相同。您的代码中没有任何内容表明查询字符串应该在重定向中保持不变。您还可以尝试在浏览器的 Net 开发者控制台标签 中监控网络请求/响应
-
@dhpratik 是的,我可以看到,但有什么问题?
-
@dhpratik 是的,它就在代码中
-
@mavrosxristoforos 对,代码有效。没有
headers already sent消息。确保没有空格