0

CodeIgniter 2.x でブログを作成する方法を学んでいます。私が望むもの - ユーザーがブログのページでリンクreadmoreidをクリックすると、完全な記事を表示するために対応するページにリダイレクトされます。

$query->row();でデータベースからを取得しているときに、同時にデータベースcontent_model.phpの列を更新したいと考えています。viewedしたがって、たとえば彼を表示する代わりに34 views、それが表示さ35 viewsれ、誰かが同じリンクを開くと、彼がもう 1 つ表示され36 viewsます。

どういうわけかハッカーに対して脆弱にならずにそれを行う最善の方法は何ですか?

よろしくお願いします。

4

2 に答える 2

1

CI フレームワークを使用してデータベースからデータを取得する場合は、次のことを確認します。

    if ($result_from_get_function->num_rows()>0){
    return   $this->updateViewColoumnByOne();
    }else{
    return false;
    }
    function updateViewColoumnByOne(){
    //retrieve number of view in view column, suppose 12.
    //plus one with it; 12+1=13
   //update it.
   //again retrieve the new update number of views
   //and return.
   }

これはあなたを助けることができると思います。

于 2012-09-08T13:10:13.353 に答える
1

これは非常に簡単なはずです。誰かが投稿を読もうとした場合、投稿情報を取得する直前に、データベース内のカウント ビューを更新します。このようなクエリを実行します

UPDATE `posts` SET `views` = `views` + 1;

その後は、通常どおり投稿情報を取得し、ブラウザに出力してユーザーに表示するだけです。

于 2012-09-08T13:37:27.340 に答える