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].' ';
}

 

奇数・偶数の判別

送信側

 f:id:develog:20161110103852p:plain

 

受信側

f:id:develog:20161110103948p:plain

f:id:develog:20161110103953p:plain

f:id:develog:20161110103959p:plain

 

送信側ソース

<!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>

 

センチをインチに変換する

送信側

f:id:develog:20161110104115p:plain

 

受信側

f:id:develog:20161110104120p:plain

 

送信側ソース

<!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);
?>

 

実行結果

f:id:develog:20161110104207p:plain