PHP演習 6
フォームの送信と受信
valueにテキストを入れる場合
送信側
<input type="checkbox" id="meet" name="food" value="ステーキ"><label for="steak">ステーキ</label>
<input type="checkbox" id="cake" name="food" value="ケーキ"><label for="cake">ケーキ</label>
受信側
foreach( $_POST['food'] as $value ){ //valueは"ステーキ"、"ケーキ"
echo "{$value} ";
}
valueに数字を入れる場合
送信側
<input type="checkbox" id="meet" name="food" value="1"><label for="steak">ステーキ</label>
<input type="checkbox" id="cake" name="food" value="2"><label for="cake">ケーキ</label>
受信側
$list = array('1' => 'ステーキ', '2' => 'ケーキ');
foreach( $_POST['food'] as $value ){ //valueは"1"、"2"
echo $list[$value].' ';
}
奇数・偶数の判別
送信側
受信側
送信側ソース
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPで奇数・偶数の判別</title>
</head>
<body>
<h2>PHP演習問題</h2>
<p>入力フィールドに入力された半角数字が、奇数か偶数か判別します。</p>
<form action="output.php" method="post">
<p><input type="number" name="num" placeholder="0以外の数字を入力してください" required></p>
<p><input type="submit" value="判別"></p>
</form>
</body>
</html>
受信側ソース
<?php
$num = $_POST['num'];
?>
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>奇数か偶数か判別する</title>
</head>
<body>
<?php
if ( $num == 0) {
echo "入力された数値は 0 です。";
}else if ( $num % 2 == 0 ) {
echo "入力された数値 {$num} は偶数です。";
} else {
echo "入力された数値 {$num} は奇数です。";
}
?>
</body>
</html>
センチをインチに変換する
送信側
受信側
送信側ソース
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>センチをインチに変換する</title>
</head>
<body>
<h1>センチをインチに変換する</h1>
<form action="conv.php" method="POST">
<input type="text" name="cm">
<input type="submit" value="変換">
</form>
</body>
</html>
受信側ソース
<?php
if ( empty($_POST['cm']) ) {
header( 'Location:index3.php' );
exit;
} else {
$num = htmlspecialchars($_POST['cm'],ENT_QUOTES,'UTF-8');
$inch = floatval( $num );
//var_dump( $num,$inch );
//echo "<br><br>";
$cm = $inch * 2.54 ;
echo "<p>入力された {$num}cm は {$cm} inchです。</p>";
}
?>
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>センチをインチに変換</title>
</head>
<body>
</body>
</html>
var_dump()関数
今まで、変数を出力される際には echo を用いてきました。
echoは文字列として値を出力するので、全ての値が「文字列」
に変換されて表示されてしまいます。しかし、中には文字列に
変換せずにもとの形のままの情報を得たいこともあります。
そこでまずはどういう形式の値で取得されているかを確認する
為に「var_dump」という関数を使います。
PHPソース
<?php
$var = 123;
$num = 123.123;
$char = '123';
var_dump($var,$num,$char);
?>
実行結果