Javascript confirm() 在单击取消时仍然执行操作.:(.


Javascript confirm() still executes action when cancel is clicked. :(

<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 文件中,所以不用担心您可能会注意到的某些语法错误(这里的问题是,当在将显示的 consure(( 对话框中单击取消时。 删除操作仍会执行。这个问题可能被认为是双重的,因为,是的,我发现了一些与此相关的问题,但我自己无法解决这个问题。我找到的那个编码是这样的:

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

我找不到解决这个问题的方法,我不知道我应该以这种格式插入SQL命令(删除(的哪个部分。请有人告诉我如何正确地做到这一点。:)谢谢!

编辑:我刚刚看到尼克·祖伯在我发布我的答案前 1 分钟左右发布了类似的答案(实际上,当我:P写它时(

我不清楚你想做什么。您希望向用户显示确认窗口,如果他们单击"是",则删除数据库中的某些条目,如果他们单击"否",则将其重定向到"用户.php"页面?

如果这是你想做的,那么你就不能这样做。你不能在 PHP 中使用 JS 条件。PHP 代码在服务器端(在服务器中(执行,而 JS 代码在客户端(在浏览器中(执行。你需要做的是做这样的事情:

警告:不要使用此代码,它是不安全的,不应该在真正的应用程序中使用,它只是为了向您展示整个事情是如何工作的

(在用户中。菲律宾普(

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
}

当你的页面加载时,你的页面上的PHP将自动执行,不管你的JavaScript如何。相反,请尝试提示用户是否要删除该帐户,如果他们单击"是",则将他们重定向到包含您的 PHP 查询的页面。

此外,confirm函数返回一个布尔值,具体取决于用户单击哪个选项。尝试将其放在if语句中:

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