Вопрос по php, javascript – Как я могу написать окно предупреждения JavaScript, чтобы ответить на вопрос да или нет и интегрироваться с вызовами php?

0

я пытаюсь выяснить, как создать окно предупреждения javascript, спрашивая пользователя, хотят ли они удалить запись (это их просмотр) и когда пользователь нажимает да, через php вызывается запрос для удаления строки базы данных. и если пользователь нажимает нет, ничего не произойдет.

интересно как это можно сделать

Спасибо

пс:

это то, что я сделал, и это не сработало.

<code><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>
</code>

Ваш Ответ

1   ответ
11
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");
?>
спасибо за ваш вклад. SarmenHB

Похожие вопросы