2014-09-02 2 views
1

Я создаю один простой список на PHP, где пользователь может добавить имя, возраст, электронные письма и т. Д. Я также добавил параметр удаления, но я хочу добавить подтверждающее сообщение, когда пользователь нажимает кнопку «Удалить».Как добавить окно подтверждения в 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'); 
      } 
     } 
?> 

ответ

4

Если вы хотите сделать это только в 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! 
0

Добавить 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>"; 
2

Это и нужно

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>"; 
} 

и создать функцию яваскрипта

function confirmationDelete(anchor) 
{ 
    var conf = confirm('Are you sure want to delete this record?'); 
    if(conf) 
     window.location=anchor.attr("href"); 
} 

поверьте мне, это работа :)

0
<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()" 
0

работу для меня, но, это изменить:

onclick='javascript:confirmationDelete($(this));return false;' 

с:

onclick='confirmationDelete(this);return false;' 
0

Здесь вариация выше который дает вам поле подтверждения и передает переменную от 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> 
 
"; 
 
?>

Javascript

<script> 
 
    function confirmation(delName){ 
 
    var del=confirm("Are you sure you want to delete this record?\n"+delName); 
 
    if (del==true){ 
 
     window.location.href="Some_Program.php?delete=y&file="+delName; 
 
    } 
 
    return del; 
 
} 
 
</script>

Смежные вопросы