0

こんにちは、ページ全体を更新せずに、JS と AJAX を使用してデータベース エントリを動的に削除しようとしています。ここに私のdata.phpファイルがあります:

<?php
require_once('db.php');

if (isset($_GET['list'])) {
   $query = "SELECT * FROM message";
   mysql_query("SET NAMES 'UTF8'");
   $qq=mysql_query($query);
   $i = 1;
   echo '<div id="rezult">';

while($ff = mysql_fetch_array($qq)){
echo '<div id="id'.$ff['id'].'">'.$i++.'. Name: '.$ff['name'].' Message:'.$ff['message'].'</div>';
}
echo '</div>';
}
?>

このコードでは、mysql テーブルからデータを取得しています。

index.php

  function list() { 
$.get('data.php?list=1', function(o) {
            $('#list').html(o);
            });
}

ページを更新せずに目的のエントリを動的に削除するには? このコードをエントリへのリンクとして以下に追加しようとしましたが、そのようにカットされjavascript:$.post(ています。 <a href="javascript:$.post('delete_post.php', { id: '$ff[id]' } );" class='delete_post' title='delete post'>delete post</a>

アドバイスありがとう

4

1 に答える 1

0

注意してください!誰かがあなたの php ファイル data.php?list=ANYNUMBER を呼び出した場合、彼は任意の行を削除できます。それを避けるためにセキュリティ ツールを使用していることを確認してください。もっと簡単に。

このようなことを試してください:

$.ajax({
  type: "POST",
  url: "list.php",
  data: { list: "1", session_id: session_ID }
}).done(function( msg ) {
  alert( "Data deleted: " + msg );
});

ここで、session_id はフィールドの値 (例では 1)、session_id は誰かがあなたのページにアクセスしたときに SESSION_ID を割り当て、削除ボタンをクリックした後、割り当てたセッション ID がサーバーからの session_id (別のサイトからのユーザーが list.php を呼び出さないようにします)。ajax の session_id がサーバーのセッション session_id と等しい場合は、削除を許可してください: PHP セッション セキュリティ

于 2012-07-05T12:24:15.933 に答える