これは、最小3文字のチェックに使用する簡単なコードです。クエリが完全に数値である場合は例外を作成したいと思います (コードには、3 文字未満のケース ID で検索するオプションもあります)。
<?php
if (strlen($_POST['Search'])>=3) {
include 'search.php';
} else {
$message = '3+ characters, please';
}
?>
手伝ってくれてありがとう :)
これは、最小3文字のチェックに使用する簡単なコードです。クエリが完全に数値である場合は例外を作成したいと思います (コードには、3 文字未満のケース ID で検索するオプションもあります)。
<?php
if (strlen($_POST['Search'])>=3) {
include 'search.php';
} else {
$message = '3+ characters, please';
}
?>
手伝ってくれてありがとう :)
これを使って:
if (strlen($_POST['Search'])>=3 ||is_numeric($_POST['Search'])) {
//Do stuff
} else
//do other stuff
私があなたを正しく理解していれば:
<?php
if (is_numeric($_POST['Search']) || strlen($_POST['Search'])>=3) {
?>
次のように書く必要があります。
// 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_digit
is_numeric
true
数値文字列は、オプションの符号、任意の桁数、オプションの小数部、およびオプションの指数部で構成されます。したがって、+0123.45e6 は有効な数値です。16 進数表記 (0xFF) も使用できますが、符号、10 進数、および指数部分は使用できません。