この記事では、
入力値のチェックに使われる、
isset関数を取り上げます。
概要
構文
isset(var, …vars)
var
データ型 | すべての型を受け入れる |
---|---|
値の説明 | 変数宣言されており、かつnullではないと思われる値 |
…vars
データ型 | すべての型を受け入れる |
---|---|
値の説明 | 可変長引数です。varと同じく、変数宣言されており、かつnullではないと思われる値を入れていきます |
戻り値
データ型 | bool(trueかfalse) |
---|---|
値の説明 | 検査対象の値がすべて、宣言されており、かつnullでなければ、true、 どれか1つでも未宣言ないしnullの値があれば、false、を返します |
コード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!DOCTYPE html> <head> <meta charset= "UTF-8" > <title>サンプル</title> </head> <body> <form action= "" method= "GET" > <input type= "text" name= "message" ><br> <input type= "submit" > </form> <?php if (isset( $_GET [ "message" ])) { $message = $_GET [ "message" ]; echo "<hr>" ; echo "送信したメッセージは【{$message}】" ; } ?> </body> </html> |
実行結果
空文字を入れた場合
発展形 issetとstrlen、trimを組み合わせる
isset関数だけでは、未宣言やnullは防げても、空文字は防げません。
空文字を防ぐためには、
isset関数と、strlen関数を組み合わせます。
さらに、空白文字も防ぐためには、trim関数で空白文字を除去したのちの文字列の長さもチェックします。
コード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <!DOCTYPE html> <head> <meta charset= "UTF-8" > <title>サンプル</title> </head> <body> <form action= "" method= "GET" > <input type= "text" name= "message" ><br> <input type= "submit" > </form> <?php if ( isset( $_GET [ "message" ]) && strlen ( $_GET [ "message" ]) >= 1 && strlen (trim( $_GET [ "message" ])) >= 1 ) { $message = $_GET [ "message" ]; echo "<hr>" ; echo "送信したメッセージは【{$message}】" ; } ?> </body> </html> |