ユーザーが同じ入力を2回送信できないようにしたいと考えています。私はユーザー入力を提出するためにPHPスクリプトを使用します。PHPセッションの検証
私のアイデアは、彼の入力をセッション配列に保存することです。そして、彼が以前に提出したものの1つと一致するかどうかを確認するために、配列をチェックします。
コードは次のようになります。
致命的なエラー:
//Compare post with what user has posted so far; if the same, exit (spam protection)
foreach($_SESSION['postarray'][] as $postarray) if($post=$postarray) exit;
//Save post in session of all other posts
$_SESSION['postarray'][]=$post;
私は次のエラーを取得するには/アプリケーション/ XAMPP/xamppfiles/htdocsに/ postish /アクション/読み込むための[]を使用することはできませんpost.php on line 32(foreach()ループを持つ行を参照します)
関数を$ _SESSION ['post array']に変更しただけでも機能しません。
任意の助けに感謝:)
デニス
エラー'' syntax ''が間違っていることを示唆しています。空の括弧を削除してみてください。そして '='は代入のためのものです。 '=='は条件用です。 –
不注意な間違い...ありがとう! – weltschmerz
前提は基本的に実装方法と同様に欠陥があります。どのように成長し続けるセッションに対処していますか?なぜストレージ層ではないのですか?私はあなたが実際にフォームの同じインスタンスを複数回送信するのを本当に防止したいと思う - この場合、これはクライアントで管理する必要がある。 CSRF防止も参照のこと。 – symcbean