2017-09-04 112 views
-2

我有一個表刪除<a>標籤。我已經可以刪除數據。但是,如果用戶想要真正刪除它,我想要做的是發出是或否的警告。我嘗試使用JavaScript,但無法使其工作。刪除時確認提醒

這是我的代碼

<?php 
      $action = ''; 
      if(isset($_GET['action'])) 
      $action=$_GET['action']; 
      if($action=='delete') 
      { 
       $speakerid=$_GET['speakerid']; 
       $delete = mysqli_query($conn, "DELETE FROM accounts WHERE id=$speakerid"); 
       header("Location:accountList.php"); 
      } 
     ?> 

     <?php while($row = mysqli_fetch_array($search_result)):?> 
        <tr> 
         <td><?php echo $row['firstname'];?></td> 
         <td><?php echo $row['lastname'];?></td> 
         <td><?php echo $row['emailaddress'];?></td> 
         <td><?php echo $row['contactnumber'];?></td> 
         <td><?php echo $row['status'];?></td> 
         <td><?php echo $row['date_added'];?></td> 
         <td align='center'><?php echo "<a style='padding:6px; background-color:red; color:white; border-radius: 3px;' href='accountList.php?action=delete&speakerid=".$row['id']."'>delete</a>";?></td> 
        </tr>                            
     <?php endwhile;?> 
+4

請添加的JavaScript。我想你可以使用https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm。你也應該參數化該查詢,因爲這是打開注射 – chris85

+3

可能重複[**如何顯示確認消息之前刪除?**](https://stackoverflow.com/questions/9139075/how-to-show-一個確認消息之前刪除)或[**如何添加確認框在PHP之前刪除?**](https://stackoverflow.com/questions/25617583/how-add-confirmation-box-in-php - 在刪除前) – Nope

回答

1

一個簡單的方法來做到這將是:

<?php echo "<a style='padding:6px; background-color:red; color:white; border-radius: 3px;' href='accountList.php?action=delete&speakerid=".$row['id']."' onclick='return confirm(\"Really delete ?\");'>delete</a>";?> 
+0

謝謝先生,它的工作。我已經嘗試onclick,但我的錯誤是我沒有把「\」放在(\「真正刪除?\」)。 「\」的用途是什麼? – Red

+1

由於您已經在一個php雙引號(「)字符串中,並且同時在由單引號(')分隔的html屬性中,您需要重用以將預期的JavaScript字符串傳遞給confirm( )函數,在這種情況下,我選擇了雙引號,這就是爲什麼你需要用反斜槓(\)將它們轉義出來,以便php不會將它們誤認爲主要的字符串分隔符 – Calimero

+1

您可以嘗試刪除反斜槓並查看效果 - 你肯定會遇到php語法錯誤。 – Calimero