if (window.confirm("Are you sure?")) {
// call php code here, either through going to a new page,
// or by doing an ajax request
}
Для вашего обновления: Проблема в том, что код 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>
Что, очевидно, ничего не делает, если бы вы даже достигли этой страницы, потому что вы отправляете пользователя на новую страницу с помощью заголовка 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>
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");
?>