戻る

複数行テキスト領域への入力値を取得する

$_POST、$_GET

<textarea>タグを使った「複数行テキスト領域」に入力されたデータは、$_POSTや$_GETなどの変数の添え字にそのname属性を指定すると受け取れます。この例では、「inputdata」というname属性のテキスト領域に入力されたデータを「$_POST["inputdata"]」という変数で受け取ります。

複数行テキスト領域の場合、<textarea>~</textarea>で囲まれた部分のHTMLの文章が初期値として表示されます。そのまま送信ボタンをクリックすると、その文章が送信されてしまいます。

テキスト領域に何も入力されずに送信ボタンがクリックされた場合、「$_POST["inputdata"]」には長さ=0の文字列が代入されています。strlen()関数を使って、未入力かどうか確認できます。

最初の画面で、テキスト領域にテキストを入力して「送信」ボタンをクリックすると、入力したテキストが表示されます。

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

if(isset($_POST["btnExec"])){
	
	if(strlen($_POST["inputdata"]) > 0){
		echo "テキスト領域に入力されたデータは「";
		echo $_POST["inputdata"];
		echo "」です!";
	}
	else{
		echo "テキスト領域は空欄です!";
	}
	echo "<br><br><br>";
}
?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
メッセージを入力して「送信」ボタンをクリックしてください。
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
	<textarea rows="6" cols="40" name="inputdata">ここにメッセージを入力してください</textarea>
	<input type="submit" name="btnExec" value="送信">
</form>
</body>
</html>

inserted by FC2 system