戻る

受け取ったデータの未入力を確認する

strlen()関数、isset()関数

HTMLフォームへのデータの未入力や未選択を確認するためには、strlen()関数やisset()関数を使います。未入力や未選択の場合にどのようなデータが渡されるかは、フォーム部品によって異なります。それぞれの部品の特性に応じて、2つの関数を使い分けます。テキストボックスのように、未入力の場合は長さ=0の文字列が渡される場合はstrlen()関数で確認できます。リストボックスのように、変数未定義の状態で渡される場合にはisset()関数が有効です。

未入力/未選択のままで「送信」ボタンをクリックすると、警告が表示されます。

<?php
header("Content-type: text/html; charset=utf-8");

if(isset($_POST["btnExec"])){

	//名前の未入力を確認
	if(strlen($_POST["inputdata"]) == 0){
		echo "名前が入力されていません!<br>";
		
		$errflg = TRUE;
	}
	
	//好きなチームの未入力を確認
	if(!isset($_POST["seldata"])){
		echo "好きなチームが選択されていません!<br>";
		
		$errflg = TRUE;
	}
	
	//入力エラーがあった場合
	if($errflg){
		echo "<br><b style=\"color:#ff0000\">データを再入力してください</b><br>";
		echo "<br><br>";
	}
}

?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
あなたの名前と好きなチームを選択して「送信」ボタンをクリックしてください。
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
	名前:<br>
	<input type="text" size="40" name="inputdata"><br>
	<br>
	好きなチーム:<br>
	<select size="5" name="seldata">
		<option value="ブラジル">ブラジル</option>
		<option value="イタリア">イタリア</option>
		<option value="アルゼンチン">アルゼンチン</option>
		<option value="フランス">フランス</option>
		<option value="イングランド">イングランド</option>
		<option value="オランダ">オランダ</option>
	</select>
	<input type="submit" name="btnExec" value="送信">
</form>
</body>
</html>

inserted by FC2 system