2017-09-04 115 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