Javascript Подтверждение () по-прежнему выполняет действие при нажатии кнопки отмены. :(

<script type="text/javascript">
confirm("Delete user?.");
window.location.href = "users.php";
</script>
$qqq = mysql_query("DELETE from users WHERE panelistname='$theuser'") or die(mysql_error())

Учитывая приведенный выше код (внутри php-файла, поэтому не стоит беспокоиться о некоторых синтаксических ошибках, которые вы могли бы заметить), проблема заключается в том, что при нажатии кнопки «Отмена» открывается диалоговое окно подтверждения (). действие удаления все еще выполняется. Этот вопрос можно считать двойным, так как, да, я нашел несколько вопросов, имеющих отношение к этому, но я просто не могу решить этот вопрос сам.
тот, который я нашел, кодирует это примерно так:

"if (confirm('Are you...?')) commentDelete(1); return false"

Я не могу найти способ решить эту проблему, я не знаю, какую часть я должен вставить команду SQL (удалить) в этом формате. Пожалуйста, кто-нибудь покажет мне, как сделать это правильно. 🙂 Спасибо!

2

Решение

РЕДАКТИРОВАТЬ: Я только что увидел, что Ник Зубер опубликовал аналогичный ответ примерно за 1 минуту до того, как я написал свой (на самом деле, пока я его писал: P)

Я не совсем понимаю, что вы пытаетесь сделать.
Вы хотите показать пользователю окно подтверждения, и если они нажимают Да, удаляют некоторые записи в базе данных, а если они нажимают Нет, перенаправляют их на страницу «users.php»?

Если это то, что вы хотите сделать, то вы не можете сделать это так. Вы не можете использовать условия JS с PHP. Код PHP выполняется на стороне сервера (на сервере), тогда как код JS выполняется на стороне клиента (в браузере). Что вам нужно, это сделать что-то вроде этого:

предупреждение: не используйте этот код, он небезопасен и никогда не должен использоваться в реальном приложении, он просто показывает вам, как все это работает

(IN USERS.PHP)

if(isset($_GET['delete_dat_user']))
{
$qqq = mysql_query("DELETE from users WHERE panelistname='" . $_GET['delete_dat_user'] . "'") or die(mysql_error());
}

(НА САЙТЕ)

if(confirm('u serious u want to delete the user'))
{
window.location = 'users.php?delete_dat_user=theUserName';
}
else
{
nope
}
1

Другие решения

Когда ваша страница загружается, PHP на вашей странице будет автоматически выполняться независимо от вашего JavaScript. Вместо этого попробуйте предложить пользователю, если он хочет удалить учетную запись и если они нажимают да перенаправьте их на страницу с вашим запросом PHP.

Так же confirm Функция возвращает логическое значение в зависимости от того, какая опция нажата пользователем. Попробуйте положить его в if заявление:

if(confirm("Delete user?.")){
window.location.href = "delete_user_page.php";
}else{
// cancel was clicked
}
1