Вопрос перед отправкой формы да/нет
Всем привет. Мой код работал, но почему-то перестал, даже не знаю что случилось.
Есть форма, у нее две кнопки submit, одна для редаткирования или добавления полей в бд, другая для удаления. Вот кнопка для удаления: <button type="submit" name="del" value="<?php echo $row["id"]; ?>" onclick="confirm('Вы действительно хотите удалить учреждение с id <?php echo $row["id"]; ?>?') ? this.form.submit() : ''"> Удалить </button> Вопрос появляется: "Вы действительно хотите удалить учреждение с id 7?". Проблема в том, что он работает в любом случае, и если нажать да, и если нажать нет, вроде когда я только начинал делать все работало как надо, не знаю даже что случилось, в консоли ошибок нет. Тут если нажать "нет" просто закроется диалоговое окно confirm и все, а если нажать да, отправится форма. //далее у меня проверяет если есть post['del'].... удаляет из базы нужную строку с нужным id... |
Цитата:
|
А можно что-то сделать чтобы работало как надо?)
Мне надо чтобы если нажали нет, ничего не делалось, а если да выполнялось это: //если нажали удалить учреждение if (isset($_POST['del'])) { $del = htmlspecialchars($_POST['del']); $sql_add_cat = "DELETE FROM `cat` WHERE id = '$del'"; $otvet_cat = mysqli_query($connect, $sql_add_cat); logs($user_panel, "Удалил учреждение c ID $del"); header("Refresh:0"); } // |
Изменил <button type="submit"... на <button type="button"... в своем коде, теперь "нет" ничего не делает, "да" вроде отправляет форму, но без del, так что код все равно не срабатывает.
|
Если нужно отправлять форму по условию, значит это условие нужно проверить, и если это диалог, то:
<button type="submit" name="del" value="<?=$row["id"]?>" onclick="return confirm('Вы действительно хотите удалить учреждение с id <?=$row["id"]?>')"> Удалить </button> Цитата:
|
Цитата:
Безопасности пока особого внимания не уделяли, это все внутри админки выполняется и юзерам туда доступа нет. Так как там передается id, возможно вместо htmlspecialchars надо сделать проверку что это число (int) и будет достаточно. |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 18:20. |