PHP代碼不會使用「$ noteid」從數據庫中刪除項目。如果我在它的位置放置一個數字,但是當我嘗試使用「$ noteid」時。它不會這樣做。它會一切正確地嘗試刪除。PHP不會從MySQL中刪除
下面是如何獲得 「$ noteid」:
//javascript
function viewnote(noteid) {
window.location = "noteview.php?noteid=" + noteid;
}
//button in body
<input type="button" value="Edit" onclick="editnote('<?= $noteid ?>')" />
下面的代碼的鏈接頁面:
<?php
$noteid = $_REQUEST['noteid'];
if (isset($_POST['delete'])){
mysql_query("DELETE FROM notes WHERE noteid='$noteid'");
header ('Location: index2.php');
}
?>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" style="margin:0px; pading:0px"><input type="submit" name="delete" value="Delete"></form>
</body>
**它的工作現在! ** 它的工作原理是一個隱藏的表單字段。
下面的代碼:
<?php
if (isset($_POST['delete'])){
$nid = $_REQUEST['notenum'];
mysql_query("DELETE FROM notes WHERE noteid='$nid'");
header ('Location: index2.php');
}
?>
//body cody
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" style="margin:0px; pading:0px"><input type="text" name="notenum" value="<?php echo $noteid; ?>" style="display:none" /><input type="submit" name="delete" value="Delete"></form>
感謝大家的幫助!這個網站現在是我最喜歡的網站。
可能是$ _REQUEST ['noteid']爲空。嘗試`vardump($ _ REQUEST)`並且看看你正在使用什麼。 – dnagirl 2010-12-22 14:23:06
$ noteid =「'; drop table notes; - 」; – DampeS8N 2010-12-22 14:24:26
請注意`<?php echo $ _SERVER ['PHP_SELF']; ``也是一個潛在的XSS漏洞。它不應該被使用。 – eis 2012-12-07 07:53:33