我使用的是一種形式,我有三個提交按鈕。編輯,刪除和重置但刪除和重置按鈕不起作用。三種提交按鈕的一種形式HTML和MySQL查詢
我做錯了什麼?
echo '<form action="" method="post">
<input type="text" name="login" value="'.htmlspecialchars($object['login']).'" placeholder="Login" /><input type="text" name="password" value="'.htmlspecialchars($object['password']).'" placeholder="Password" />
<input type="submit" value="Edit" />
<input type="hidden" name="action" value="edit" />
<input type="hidden" name="id" value="'.$object['id'].'" />
<input type="submit" value="Delete" />
<input type="hidden" name="action" value="dell" />
<input type="submit" value="Reset" />
<input type="hidden" name="action" value="res" />
</form>;
在PHP中,它看起來像
if($_POST){
$action=(string)$_POST['action'];
$id=(int)$_POST['id'];
$name=(string)$_POST['name'];
$name=trim($_POST['name']);
$name=htmlspecialchars($name,ENT_QUOTES);
if($action=='add' && $name){
mysql_query("INSERT INTO `stages` SET
`name`='".mysql_real_escape_string($name)."'");
} else if($action=='edit' && $name){
mysql_query("UPDATE `stages` SET
`name`='".mysql_real_escape_string($name)."'
WHERE `id`='".$id."' LIMIT 1");
} else if($action=='edit'){
mysql_query("DELETE FROM `stages` WHERE `id`='".$id."' LIMIT 1");
mysql_query("DELETE FROM `questions` WHERE `stage_id`='".$id."'");
} else if($action=='dell'){
mysql_query("DELETE FROM `stages` WHERE `id`='".$id."' LIMIT 1");
mysql_query("DELETE FROM `questions` WHERE `stage_id`='".$id."'");
} else if($action=='reset'){
mysql_query("UPDATE `stages` SET
`name`=NULL
WHERE `id`='".$id."' LIMIT 1");
}
}
首先閱讀http://stackoverflow.com/help/mcve –
在表單中沒有名稱爲「name」的字段,因此它不會被POST。每個按鈕都是一個提交按鈕,因此在提交表單後,哪些字段實際上將由php腳本處理。 「名稱」的價值在哪裏? – RamRaider