Есть ли PHP-версия функции JavaScript confirm ()?
Если нет, то каковы другие варианты или как мне сделать что-то похожее на confirm ()?






Поскольку PHP является серверным языком (весь PHP-код выполняется на сервере, а вывод кода отправляется клиенту), вам нужно будет создать HTML-форму с кнопками OK / Cancel, которые будут отправляться на ваша страница PHP. Что-то вроде этого:
confirm.php:
<p>Are you sure you want to do this?</p>
<form action = "page2.php" method = "post">
<input type = "submit" name = "ok" value = "OK" />
<input type = "submit" name = "cancel" value = "Cancel" />
</form>
page2.php:
<?php
if (isset($_POST['ok'])) {
// They pressed OK
}
if (isset($_POST['cancel'])) {
// They pressed Cancel
}
?>
Нет необходимости иметь два блока формы, 1 будет с <br /> между кнопками или, возможно, обернуть кнопки тегами <p> (при условии, что они вам действительно нужны в отдельных строках)
Хорошо, у меня действительно была одна форма с двумя кнопками изначально, но я не знал наверняка, будет ли она отправлять значения обеих кнопок или просто отправляет значение той, по которой щелкнули. Итак, поскольку вы оба согласны, что это должна быть одна форма, я думаю, то, о чем я беспокоюсь, не должно быть проблемой.
Используя тот же ответ из предыдущего поста, добавив некоторую обработку ошибок и безопасность:
<form action = "page2.php" method = "post">
Your choice: <input type = "radio" name = "choice" value = "yes"> Yes <input type = "radio" name = "choice" value = "no" /> No
<button type = "submit">Send</button>
</form>
И в вашем page2.php:
if (isset($_POST['choice']) /* Always check buddy */) {
switch($_POST['choice']) {
case 'yes':
/// Code here
break;
case 'no':
/// Code here
break;
default:
/// Error treatment
break;
}
}
else {
// error treatment
}
Кнопка type = не отправляет форму на сервер. Вы должны использовать type = submit. И вы можете использовать только одну форму для обеих кнопок.