0

これは、最小3文字のチェックに使用する簡単なコードです。クエリが完全に数値である場合は例外を作成したいと思います (コードには、3 文字未満のケース ID で検索するオプションもあります)。

<?php

if (strlen($_POST['Search'])>=3) {

include 'search.php';

} else {

$message = '3+ characters, please';

}

?>

手伝ってくれてありがとう :)

4

3 に答える 3

2

これを使って:

if (strlen($_POST['Search'])>=3 ||is_numeric($_POST['Search'])) {
  //Do stuff
} else
//do other stuff
于 2012-05-16T12:05:49.503 に答える
1

私があなたを正しく理解していれば:

<?php

if (is_numeric($_POST['Search']) || strlen($_POST['Search'])>=3) {

?>
于 2012-05-16T12:05:00.187 に答える
1

次のように書く必要があります。

// make sure no notices are emitted if the input is not as expected
$search = isset($_POST['Search']) ? $_POST['Search'] : null;

if (!ctype_digit($search)) {
    // it's all digits
}
else if (strlen($search) < 3) {
    // error: less than three characters
}
else {
    // default case
}

ブランチを自由にマージすることがデフォルトのケースであり、「すべての数字」のケースは同じコードに転送する必要があります。

重要:入力がすべての数字であるかどうかを確認する場合にのみ使用してください。 他のタイプの入力に対しても返されます。ctype_digitis_numerictrue

数値文字列は、オプションの符号、任意の桁数、オプションの小数部、およびオプションの指数部で構成されます。したがって、+0123.45e6 は有効な数値です。16 進数表記 (0xFF) も使用できますが、符号、10 進数、および指数部分は使用できません。

于 2012-05-16T12:08:03.460 に答える