現在、誰かがスペースキーを押して入力すると、次のページに移動しますが、何も検索しません - 検索を完全に防止したいです。これを達成する最良の方法は何ですか?私はスペースが使用されないようにしたくありません(つまり、どうすればこの問題を解決できますか?) - 私は空白で検索を許可したくありません。"スペース"がMySQLデータベースを検索するのを防ぐには?
答えて
empty
条件でクエリの変数をラップ:
if(!empty(trim($_POST['searchterm']))
{
// do search
}
さらに、フォームがクライアント側で送信されないようにすることもできます。彼はjavascriptをタグ付けしたので、OPはこれを念頭に置いていたと思います。もちろん、サーバーサイドでもポリシーを実施する必要がありますが、それが不要な場合(トラフィックの99%を占めるはずです)の追加チェックが、それが存在するために、あまり害はない。 – Nobody
クライアント側の検証のみがサイドステップで実行できます。バックエンドのチェックも必要です。 – HyderA
@ gAMBOOKa:私のコメントを編集しましたが、もちろんそれは回避できますが、単に検索文字列として ""を渡すだけの努力をする価値はありますか?もちろん、セキュリティ上の問題があった場合は、サーバー側も確認する必要があります。 – Nobody
ただ、文字列を取り、最初と最後の空白をトリムと長さを確認してください。長さが0の場合は、フォームを送信しないでください。
これは問題ありませんが、クライアント側のチェックのみに頼るべきではありません。 –
@AlienWebguyの回答に加えて、JavaScriptを使用してクライアント側の検証を行い、ページがバックエンドに到達するのを防ぐことができます。クライアント側で検証を行うことは間違いなく良い方法ですとサーバー側。 submit
(onsubmit
)イベントハンドラで
form.onsubmit = function(){
if(input.value.replace(/^\s/,"").length === 0){
return false;
}
}
JavaScriptを使用してトリム先頭のスペース:
var searchField = document.getElementById('search'); // or whatever the id of the field is
if(searchField.value.replace(/^\s+/, '').length === 0) {
return false; // or evt.preventDefault().
}
ここでは、クライアント側の検証に依存しても大丈夫であるべきかの理由ユーザーが検索エンジンをだまそうとすると、空白のページが表示されても構わない。実際のサーバー側の問題は、これを可能にありますならば、同じチェック、サーバー側を実行します。
if(!isset($_REQUEST['search']) || !trim($_REQUEST['search'])) {
// Don't perform the search
}
+1両方の答えを組み合わせる。 – Loktar
あなたはバックエンドにPHPでそれをprocecssingしている場合は、あなただけのtrim($input)
を使用していますが、より良いユーザーのexperinceのためにすることができますJavaScriptを使用します。フォームバリデーターを設定して、空白以外のものがなければ送信しません。
<form onsubmit="return verify()">
<input id="foo" name="foo" />
<input type="submit" />c
</form>
<script type="text/javascript">
function verify() {
if (document.getElementById("foo").value.match(/[^\s]/) == null) {
alert('only whitespace');
return false;
} else {
alert('found substance');
return true;
}
}
</script>
- 1. PostgreSQL全文検索パーサがシンボルをスペースに書き換えるのを防ぐには?
- 2. 親ディレクトリのモジュールを検索するのを防ぐ(...)
- 3. EFがデータベースを作成するのを防ぐ方法は?
- 4. mysqlデータベースでコードを検索する
- 5. mySQLデータベースのフレーズの検索
- 6. デフォルト値がMySQLデータベースに送信される行を防ぐ方法
- 7. mySQL:データベース内の複数のテーブルを検索するには?
- 8. PHPフォーム検索MySQLデータベース
- 9. 破損したデータベースを防ぐ方法 - MySQL
- 10. 完了した検索に基づいてmysqlデータベースを検索する
- 11. HTMLコードの改行による出力のスペースを防ぐには?
- 12. 検索エンジンの結果をMysqlデータベースに保存する
- 13. がデータベースに入力同じデータにユーザーを防ぐため、ユーザーを防ぐために(アンドロイド)
- 14. どのようにmysqlに重複レコードを防ぐには?
- 15. MySQLデータベースに保存されているJSONを検索する
- 16. データベースが引用符にスラッシュを追加するのを防ぐ方法
- 17. MySQLデータベースの検索クエリを記録するPHPスクリプトの修正
- 18. HibernateがMySQLでユーザ名にホスト名を追加するのを防ぐ方法
- 19. 先頭のスペースなしでdatafieldを検索するには?
- 20. 挿入を防ぐsqliteデータベースのトリガーを作成する
- 21. 埋め込みアプレットがすぐに起動するのを防ぐには?
- 22. eclipseがTomcatにテストクラスをデプロイするのを防ぐには?
- 23. フォームがフリーズするのを防ぐ
- 24. [データベース]コマンドを使用して作成するのを防ぐには?
- 25. MySQLの検索は
- 26. fを防ぐためにPHPとmySqlのアクセスを保護する方法は?
- 27. Subversionがバイナリファイルをマージするのを防ぐには?
- 28. メソッドが引数を変更するのを防ぐには?
- 29. フォームのアクションがasp.netで発生するのを防ぐには
- 30. デッドロックを防ぐ
ストリップ空白? – Nobody
いくつかのコードを表示する - あなたがこのあいまいなときは、誰も助けてくれません。 – Randy
何ですか?私のクリスタルボールは現在修理のために店に入っています。 – Cyclone