私はjs経由でボタンを無効にすることができますが、ユーザーは簡単に彼のブラウザで変更することができます。phpまたはmysqlレベルでの複写を防ぐ方法は?
だから私はそれを簡単に解決する方法を模索しています。
私はこのセッショントリックhttps://stackoverflow.com/questions/20766744/php-double-form-submit-prevent
を試しましたが、私はまだ高速でクリックすることができ、多くのものをdbに保存します。
また、does a row with the same user_id, item_id and comment_id in the table reviews exist then stop
の条件を実行すると、これはどちらもうまくいかず、ボタンをクリックすると非常に速くなります。
mysqlには、複数の行を同じ情報で保存することを拒否する機能がありますか?
そういうものがあればそれは素晴らしいものになるでしょう。
たとえば、user_id, item_id, comment_id
は、1回だけ保存することも、複数のものを保存するために時間の予防を使用することもできます。
まあ、これらの3つのフィールドに一意のインデックスを設定することはできますが、それは非常に力強く柔軟性がありません。あなたの構造と希望するニーズによって異なります。 – IncredibleHat
データベースにデータを保存する前に、まずデータベーステーブルをチェックして、usernameなどの送信済みデータがデータベーステーブルにすでに存在するかどうかを確認します。そうであれば、ユーザーにフラグを立て、フォームを検証せずに情報を保存します。 – dean
私がテーブル 'reviews'を持っていて、' id、user_id、item_id、comment_id'というフィールドを持ち、これらの3つのそれぞれの組み合わせ(user_id、item_id、comment_id)だけがそれを保存することは可能ですか? – Greggore