сообщение — Как создать подтверждение да / нет в php?

Я хочу создать окно подтверждения да / нет в php
мой код такой:

<?php
if(isset($_REQUEST['id']))
{
?>

<script>
var cf=confirm("do you want to delete Y/N");
if(cf)
{ i want to call code edit of php

}
</script>
<?php
}
?>
<html>
<head>
</head>
<body>
<form name="frm" method="post" action="edit.php">
<a href="edit.php?id=1">Edit </a> <br>
<a href="edit.php?id=2">Edit </a> <br>
<a href="edit.php?id=3">Edit </a> <br>

</form>

</body>
</html>

Хочу когда нажимаю Да я звоню редактировать код в PHP
Но это не работает.
Вы можете мне помочь ?
Спасибо вам

3

Решение

Просто используйте встроенное событие onclick.

Это простая техника, вы можете использовать ее на своей странице PHP.

<a href="edit.php?id=1" onclick="return  confirm('do you want to delete Y/N')">Edit </a>
6

Другие решения

В своем коде вы упомянули PHP, но использовали JavaScript.

Если вы хотите сделать подтверждение с помощью PHP,

Создайте промежуточную страницу для подтверждения.

Опубликуйте данные формы там.

На странице подтверждения добавьте две кнопки отправки:

Yes: Если нажать эту кнопку, перенаправить / опубликовать для редактирования страницы.

No: Если нажата эта, перенаправить обратно в форму

Итак, ваша страница подтверждения должна быть:

<html>
<head>
</head>
<body>

<?php
if (isset($_POST['confirm'])) {
if ($_POST['confirm'] == 'Yes') {
header("Location:edit.php?id=1");
}
else if ($_POST['confirm'] == 'No') {
header("goBack.php");
}
}
?>

<form method="post">
<?php
if(isset($_REQUEST['id']))
{
?>
<input type="submit" name="confirm" value="Yes"><br/>
<input type="submit" name="confirm" value="No"><br/>
<?php
}
?>
</form>
4

Поместите идентификатор в форму:

Создайте прослушиватель событий для формы onsubmit событие

<script>
function onFormSubmission(e){
return confirm("do you want to delete Y/N");
}

var frm = document.getElementById('frm');
frm.addEventListener("submit", onFormSubmission);
</script>

Когда пользователь отправляет форму, ему будет предложено ваше сообщение. Если они нажмут Да, функция вернет true, и форма будет отправлена. В противном случае функция вернет false и отправка формы будет отменена.

0

Я думаю, что это то, что вы хотите сделать:

<?php
//YOU MUST BE SURE THAT YOUR URL CONTAINS THE $_REQUEST['id'] PARAMETER, OTHERWISE IT WON'T WORK FROM YOUR CODE... IF YOU WANT IT TO WORK REGARDLESS OF THAT, JUST COMMENT OUT THE IF(ISSET(... BLOCK...
$editURL = "edit.php"; //EDIT URL HERE
if(isset($_REQUEST['id'])) {
//ASSIGN THE ID TO A VARIABLE FOR BUILDING THE URL LATER IN JS...
//THE DEFAULT ID IS 1 BUT YOU CAN DECIDE WITH YOUR OWN LOGIC
$defaultID =  ($dID = intval(trim($_REQUEST['id']))) ? $dID : 1;
?>

<script>
function confirmEdit(evt){
evt.preventDefault();
var cf=confirm("do you want to delete Y/N");
var id=<?php echo defaultID; ?>;
if(cf){
//i want to call code edit of php
//HERE'S THE CODE YOU MAY NEED TO RUN;
if(id){
//RETURN TRUE SO THAT THE SCRIPT WITH LINK TO THE APPROPRIATE URL
return true;

// OR REDIRECT WITH JAVASCRIPT TO EDIT PAGE WITH APPROPRIATE ID
//window.location = "" + <?php echo $editURL; ?> + "?id=" + id; //YOU ALREADY HAVE THE EDIT URL... JUST APPEND THE QUERY-STRING WITH ID TO USE IN THE EDIT PAGE
// You might also just (without redirecting) return true here so to that the page continues like you just clicked on the link itself...
}
}
}
</script>
<?php
}
?><html>
<head>
</head>
<body>
<!-- THE FORM TAG IS NOT NECESSARY IN THIS CASE SINCE YOUR ANCHOR TAGS HAVE THE EXACT URL YOU WANT ASSOCIATED WITH THEM... AND YOU DON'T EVEN NEED JAVASCRIPT IN THIS CASE... BECAUSE THE HREF OF THE LINKS ARE HARD-CODED... -->
<!-- <form name="frm" method="post" action="edit.php"> -->
<a class='class-4-css' onclick="confirmEdit();" id='dynamic-id-based-btn-1' href="edit.php?id=1">Edit Page 1 </a> <br>
<a class='class-4-css' onclick="confirmEdit();" id='dynamic-id-based-btn-2' href="edit.php?id=2">Edit Page 2</a> <br>
<a class='class-4-css' onclick="confirmEdit();" id='dynamic-id-based-btn-3' href="edit.php?id=3">Edit Page 3</a> <br>
<!-- </form> -->

</body>
</html>

Таким образом, теперь нажатие на любую из ссылок попросит меня подтвердить, хочу ли я удалить ресурс или нет. Если я выберу да, то соответствующая страница загружается для процесса …

0

не уверен, что другие ответы действительно ответили на ваш вопрос, это тоже была моя проблема, тогда я экспериментировал и вот что я придумал:

.

подтверждение в php:

    $Confirmation = "<script> window.confirm('Your confirmation message here');
</script>";

echo $Confirmation;

if ($Confirmation == true) {
your code goes here
}

вот и все, другие могут искать это, милости просим 🙂

0

Я искал, чтобы просто иметь окно подтверждения в php, прежде чем запускать POST isset без прохождения javascript:

echo "<input id='send_btn' type='submit' value='previous'
name='previous' OnClick=\"return confirm('Are you sure you want to go
to previous');\" >";

Это оказалось для меня самым простым решением.

0
По вопросам рекламы [email protected]