Я создаю один простой список на PHP, где пользователь может добавить имя, возраст, электронные письма и т. Д. Я также добавил параметр удаления, но я хочу добавить подтверждающее сообщение, когда пользователь нажимает кнопку «Удалить».
Я пробовал искать Google, но нашел только jQuery и JavaScript-решения. Есть ли способ сделать это только с PHP?
list.php
<?php include('config.php'); $query1=mysql_query("select id, name, age from addd"); echo "<table><tr><td>Name</td><td>Age</td><td></td><td></td>"; while($query2=mysql_fetch_array($query1)) { echo "<tr><td>".$query2['name']."</td>"; echo "<td>".$query2['age']."</td>"; echo "<td><a href='edit.php?id=".$query2['id']."'>Edit</a></td>"; echo "<td><a href='delete.php?id=".$query2['id']."'>x</a></td><tr>"; } </table> ?>
Delete.php
<?php include('config.php'); if(isset($_GET['id'])) { $id=$_GET['id']; $query1=mysql_query("delete from addd where id='$id'"); if($query1) { header('location:list.php'); } } ?>
в<?php include('config.php'); if(isset($_GET['id'])) { $id=$_GET['id']; $query1=mysql_query("delete from addd where id='$id'"); if($query1) { header('location:list.php'); } } ?>
Если вы хотите сделать это только в PHP, вам нужно добавить «шаги» в свой скрипт, например:
step1 (show form) -> step2 (ask validation) -> step3 (validate)
Для этого вы можете использовать сеансы для сохранения содержимого формы и параметра GET
для отслеживания этого шага. В противном случае самым простым решением является использование javascript:
echo "<td><a onClick=\"javascript: return confirm('Please confirm deletion');\" href='delete.php?id=".$query2['id']."'>x</a></td><tr>"; //use double quotes for js inside php!
Это вам нужно
while($query2=mysql_fetch_array($query1)) { echo "<tr><td>".$query2['name']."</td>"; echo "<td>".$query2['age']."</td>"; echo "<td><a href='edit.php?id=".$query2['id']."'>Edit</a></td>"; echo "<td><a onclick='javascript:confirmationDelete($(this));return false;' href='delete.php?id=".$query2['id']."'>x</a></td><tr>"; }
вwhile($query2=mysql_fetch_array($query1)) { echo "<tr><td>".$query2['name']."</td>"; echo "<td>".$query2['age']."</td>"; echo "<td><a href='edit.php?id=".$query2['id']."'>Edit</a></td>"; echo "<td><a onclick='javascript:confirmationDelete($(this));return false;' href='delete.php?id=".$query2['id']."'>x</a></td><tr>"; }
и создать функцию javascript
function confirmationDelete(anchor) { var conf = confirm('Are you sure want to delete this record?'); if(conf) window.location=anchor.attr("href"); }
поверьте мне, это работа 🙂
Добавьте событие onClick
чтобы вызвать диалоговое окно и javascript:return confirm('are you sure you want to delete this?');
echo "<td><a href='delete.php?id=".$query2['id']."' onClick=\"javascript:return confirm('are you sure you want to delete this?');\">x</a></td><tr>";
<script> function deleletconfig(){ var del=confirm("Are you sure you want to delete this record?"); if (del==true){ alert ("record deleted") } return del; } </script> //add onclick event onclick="return deleletconfig()"
работайте для меня, но измените это:
onclick='javascript:confirmationDelete($(this));return false;'
с:
onclick='confirmationDelete(this);return false;'
Ниже приведен вариант выше, который дает поле подтверждения и передает переменную от PHP к Javascript и обратно к PHP.
Я использовал это, чтобы выбрать переключатель, чтобы удалить файл из списка файлов.
См. Функция запуска OnClick с именем php $ fileName в Javascript, подтверждение с именем файла, и если да, то передача в href с переменными для $ _GET
PHP / HTML-код:
<?php echo " <tr> <td> <input type='radio' name='input_sched_button' onclick='confirmation(".'"'.$fileName.'"'.")' /> </td> <td class='fixed-td-450'><a href='./$namehref'>$fileName</a></td> <td class='fixed-td-40'>$extn</td> <td class='col3'>$size</td> <td class='fixed-td-80'>$modtime</td> </tr> "; ?>