我试图弄清楚如何创建一个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)