この記事では、
入力値のチェックに使われる、
isset関数を取り上げます。
概要
構文
isset(var, …vars)
var
| データ型 | すべての型を受け入れる |
|---|---|
| 値の説明 | 変数宣言されており、かつnullではないと思われる値 |
…vars
| データ型 | すべての型を受け入れる |
|---|---|
| 値の説明 | 可変長引数です。varと同じく、変数宣言されており、かつnullではないと思われる値を入れていきます |
戻り値
| データ型 | bool(trueかfalse) |
|---|---|
| 値の説明 | 検査対象の値がすべて、宣言されており、かつnullでなければ、true、 どれか1つでも未宣言ないしnullの値があれば、false、を返します |
コード例
<!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関数で空白文字を除去したのちの文字列の長さもチェックします。
コード例
<!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>







