2016-03-31 7 views
0

内のデータの複数の削除&編集が、それはデータベースの全データを削除しますどちらか。それはまた編集のための同じ問題です。ユーザーを削除するときに、プロンプトが表示されます、ユーザー削除のために私は、データベースから1つのデータを削除しようとしていたPHP

このコードは次のとおりです。ここでは、以下の

<div id="delete_user<?php echo $id; ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-body"> 
     <div class="alert alert-danger">Are you Sure yuo want to Delete this Data?</div> 

    </div> 
    <div class="modal-footer"> 
     <a class="btn btn-danger" href="delete_user.php<?php echo '?id='.$id; ?>"><i class="icon-check"></i>&nbsp;Yes</a> 
     <button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i>&nbsp;Close</button> 
    </div> 
</div> 

と、このコードを実際

<?php 
include('dbcon.php'); 

$id=$_GET['id']; 

mysql_query("delete from users where user_id='$id'") or die(mysql_error()); 

header('location:users.php'); 
?> 
+0

テーブルのすべての行を削除するとはどういう意味ですか? –

+0

その程度ええああ申し訳ありません... – Chouny

+0

は、uは価値があなたもエスケープしていないユーザーが投稿したデータがあるとして、SQLインジェクション攻撃のために座ってカモだ[「ID」] –

答えて

0

データベースから削除最初にチェックがあればあります値は$_GET['id']に設定され、アクションが実行されます。

<?php 
include('dbcon.php'); 

if(isset($_GET['id'])){ 
    $id=mysql_real_escape_string($_GET['id']); 
    mysql_query("delete from users where user_id='$id'") or die(mysql_error()); 
} 

header('location:users.php'); 
?> 
+0

'isset'は変数が存在するかどうかをチェックします。ここでは値をチェックしません。 – itzmukeshy7

+0

整数値に '' $ id ''一重引用符を追加したのはなぜですか? POSTリクエストを送信し、$ ID =(int型) '要求を取得するなどのデータを取得するために$ _ GET [ 'ID']しようと – itzmukeshy7

-1

あなたのコードは大丈夫ですが、ちょうどID値をデバッグしてください。

しかし、それでもまだ、私は強くGETメソッドでidを通過しないような行動のためにと考えています。 ajaxでPOSTを使用します。

以下

部未満

function deletUser(id) { 
$.ajax({ 
    url: 'delete_user.php', 
    method: 'POST', 
    data: {"id" : id}, 
    success: function(data) { 
    // on success alter the div structure..... 
    } 
}); 
} 

があなたのdelete_user.phpのコードでページにjqueryのAJAXの下

<div id="delete_user<?php echo $id; ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-body"> 
<div class="alert alert-danger">Are you Sure yuo want to Delete this Data?</div> 
</div> 
<div class="modal-footer"> 
    <a class="btn btn-danger" onclick="deleteUser(<?php echo $id; ?>)" href="javascript:void(0)"> <i class="icon-check"></i>&nbsp;Yes</a> 
    <button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i>&nbsp;Close</button> 
</div> 
</div> 

をdelete_user.phpにIDを渡すためにPOSTメソッドを使用してAjaxでのコードですページ

include('dbcon.php'); 
if(isset($_POST['id']) && $_POST['id'] != ''){ 
$id = (int)$_POST['id']; 
mysql_query("delete from users where user_id=$id") or die(mysql_error()); 
} 
header('location:users.php'); 
+0

;'これは何ですか? – itzmukeshy7

+0

@ itzmukeshy7これは私の間違いです。POSTでGETを変更するのを忘れてしまいました。その部分を無視してください – JiteshNK

+0

整数値に '' $ id ''一重引用符を追加したのはなぜですか? – itzmukeshy7

関連する問題