Я использую форму, и у меня есть три кнопки отправки. Изменить, Удалить и Сбросить, но кнопки «Удалить» и «Сброс» не работают.три кнопки отправки в одной форме 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 –
В форме нет поля с именем «имя», поэтому он не получит POSTED. Каждая из кнопок - кнопка отправки, так что это лотерея, поля которой фактически будут обрабатываться скриптом php после отправки формы. Где «имя» получает свою ценность? – RamRaider