我如何编写一个javascript警告框来提出是或否问题并与php调用集成?

Sar*_*nHB 0 javascript php

我试图弄清楚如何创建一个javascript警告框询问用户是否要删除记录(他们的查看),当用户按下是时,通过php调用查询来删除数据库行.如果用户按下则不会发生任何事情.

想知道如何做到这一点

谢谢

PS:

这就是我所做的,它没有用.

<script type="text/javascript">
if(window.confirm("Are you sure you want to delete that record?")) { 
<?php
mysql_query("delete from tbl_payments where id = '$id'") or die(mysql_error());
header("Location: dashboard.php");
?>
}
</script>
Run Code Online (Sandbox Code Playgroud)

Ais*_*ina 11

if (window.confirm("Are you sure?")) {
  // call php code here, either through going to a new page,
  // or by doing an ajax request
}
Run Code Online (Sandbox Code Playgroud)

对于您的更新:问题是服务器正在执行PHP代码,它不运行Javascript,而Javascript在客户端运行,不知道PHP代码.

这意味着PHP代码将始终运行,只是忽略window.prompt调用,因为它不是PHP的一部分.客户端执行的Javascript看起来像这样:

<script type="text/javascript">
if(window.confirm("Are you sure you want to delete that record?")) { 
}
</script>
Run Code Online (Sandbox Code Playgroud)

如果您甚至无法访问此页面,这显然无效,因为您使用Location标头将用户发送到新页面.

您需要做的是将您编写的PHP代码放在第二页上,并且只有在window.confirm()运行后才将客户端带到该页面.像这样的东西:

file1.php

<script type="text/javascript">
if(window.confirm("Are you sure you want to delete that record?")) {
  document.location = "file2.php?id=<?php echo $_GET['id'] ?>";
}
</script>
Run Code Online (Sandbox Code Playgroud)

file2.php

<?php
$id = $_GET['id'];
if (!is_numeric($id)) $id = -1;
mysql_query("delete from tbl_payments where id = '$id'") or die(mysql_error());
header("Location: dashboard.php");
?>
Run Code Online (Sandbox Code Playgroud)