Я пытаюсь выяснить, как создать окно предупреждения javascript, спрашивая пользователя, хотят ли они удалить запись (что их просмотр), и когда пользователь нажимает да, запрос вызывается через php для удаления строки базы данных. и если пользователь нажимает, ничего не произойдет.
интересно, как это можно сделать
благодаря
пс:
это то, что я сделал, и это не сработало.
<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>
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"); ?>