1

こんにちは、動画に投票できる動画投票 Web サイトを構築しています。ユーザーがビデオの再生を中断することなく投票できるようにしたい。

これが私が使用しているスニップです。

if ($_POST['vote']) {
    $sql = mysql_query("UPDATE videos SET vid_votes=vid_votes+1 WHERE vid_id=$vid_id"); 
}
$votebutton ="<form action='index.php?id=$vid_id' method='post' enctype='multipart/form-data'><input name='vote' type='hidden' id='vote' value='$vid_id'><input type='submit' name='Submit' value='Vote for it!' /></form>";

ログインした投票者が今日すでに投票したかどうかのクエリに基づいて、投票または投票しないことをエコーアウトします。

このスクリプトは投票を記録し、ユーザーが見ていたビデオにユーザーを戻します。さらにスクリプトを作成すると、ユーザーが 1 日以内に投票した場合、これが投票取り消しボタンに変わります。ただし、私の主な関心事は、ビデオを再起動せずにこのボタンでスクリプトを実行するにはどうすればよいですか?

4

1 に答える 1

1

私はjQueryでこれを行います。jQuery を使用する必要はまったくありません、jQuery を使用すると AJAX 呼び出しが適切にラップされ、いくつかのプラットフォーム間で標準的な方法で動作するようになります。

まず、jQuery をロードする必要があります。これを CDN からロードできます。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

次に、JavaScript で、.post()既存の PHP スクリプトを呼び出すだけです。

$.post('yourscript.php', 
    {vid_or_whatever: 12345},
    function (data, textStatus, jqXHR) {
        /* Handle the response data here. */
    }
);

このメソッドの詳細については、http: //api.jquery.com/jQuery.post/を参照してください。

最後に、サーバー側の PDO で準備済みクエリを使用していることを確認してください。そうすれば、SQL インジェクションの脆弱性を回避できます。

于 2012-04-26T03:59:58.037 に答える