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

。私はあなたがhttps://developer.mozilla.org/en-US/docs/Web/API/Window/confirmを使うことができると思います。また、注射に開かれているように、そのクエリをパラメータ化する必要があります – chris85

+3

[**削除する前に確認メッセージを表示するにはどうすればいいですか?**](https://stackoverflow.com/questions/9139075/how-to-show- a-confirm-message-before-delete)または[**削除する前にPHPの確認ボックスを追加する方法は?**](https://stackoverflow.com/questions/25617583/how-add-confirmation-box-in-php -before-deletting) – 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引用符( ')で区切られたhtml属性の中にあるので、期待どおりのjavascript文字列を渡すために再利用する必要があります)関数では、二重引用符を使用したので、PHPがメインの文字列区切り文字と間違えることがないように、これらをバックスラッシュ(\)でエスケープする必要があります。 – Calimero

+1

バックスラッシュを削除して、あなたは確かにPHP構文エラーで終わるでしょう。 – Calimero

関連する問題