1

すべてのユーザーが新しいムービーを追加できるlaravel 4アプリを作成しています。

ムービーは、次のような通常の値でデータベースに保存されます。

- 名前 - 年 - 評価 - 投票数

等...

また、映画を追加する際のスパムを回避するために、確認済みのブール値フィールドを作成しました。ユーザーが映画を追加するたびに、確認済みの値は false であり、ページのスタッフが映画情報を読み取り、確認するかどうかを決定します。

映画は、それが誤りであることが確認された場合にのみスタッフに表示され、映画には承認とキャンセルの 2 つのボタンもあります。

必要なのは、ページをリロードせずにボタンの1つをクリックすると、ムービーテーブルの確認済みフィールドを更新するjqueryまたはjavascriptコードです。

試してみましたが、うまくいきませんでした。それは賭けの練習ではなかったと思います。助けてください。

4

1 に答える 1

1

ajaxを使用する必要があります。

以下に少し例を示します。

<button onClick='ajaxRequest(\"video_id=<? echo $video_id; ?>\"'>Confirm</button>
function ajaxRequest(data)
{
    var url = "allow_video.php";
    var method = 'POST';
    var async = true;
    var xmlHttpRequst = false;
    if (window.XMLHttpRequest){
        xmlHttpRequst = new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
        xmlHttpRequst = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(xmlHttpRequst != false){
        xmlHttpRequst.open(method, url, async);
        xmlHttpRequst.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xmlHttpRequst.onreadystatechange = function()
        {
            if (xmlHttpRequst.readyState == 4){
                if (xmlHttpRequst.status == 200){
                    alert("Video posted");
                }
            }
        }
        xmlHttpRequst.send(data);
    }
}

allow_video.php で

<?
if (isset($_POST['video_id'])){
    //update confirm field
}
?>

PS: allow_video.php に管理者権限でセッション検証を追加する必要があります。そうしないと、任意のユーザーが video_id を知っているか、ブルート フォースを使用してビデオを確認できます。

于 2013-09-29T05:37:31.757 に答える