第9回 セッションとHTTPヘッダーの基礎 - PHP基礎講座
Saity先生のPHP基礎講座
Lecutures on PHP
第9回 セッションとHTTPヘッダーの基礎 (その1)
ソースコードに戻って
さて、前回はひたすらセッションの概要説明ばかりになってしまったけれど、今回は再び第7回のソースコードに戻って解説を続けていこうか。- はーい。この2つのコードですね。
uranai_ask.php:
<?php
$error_message = array();
if (isset($_POST["uranai"])) {
// 全角のものを半角にする
$age = mb_convert_kana($_POST["age"], "a", "EUC-JP");
if (is_numeric($age) == false) {
$error_message[] = "年齢は数字で教えてください!";
} elseif ($age < 1 || $age > 120) {
$error_message[] = "年齢は1才から120才の範囲で入力してください!";
}
if (!count($error_message)) {
session_start();
$_SESSION["age"] = $age;
header("Location: uranai_result.php");
exit;
}
} else {
$age = 25;
}
?>
<html>
<body>
<?php
// エラーメッセージを出力する
if (count($error_message)) {
foreach ($error_message as $message) {
print($message);
}
}
?>
<form action="uranai_ask.php" method="post">
年齢を教えてください:
<input type="text" name="age"
value="<?php print(htmlspecialchars($age, ENT_QUOTES)); ?>">
<input type="submit" name="uranai" value="占う!">
</form>
</body>
</html>
uranai_result.php:
<?php
session_start();
if (!isset($_SESSION["age"])) {
header("Location: uranai_ask.php");
exit;
}
$sorry_message =
"ちょっとあなたの年齢は対象年齢に含まれていません・・・";
$uranai_message[1] =
"10代のあなたには、PHPをお守り代わりに勉強するのが良いみたい。";
$uranai_message[2] =
"20代のあなたには、趣味でPHPを使うと良いみたい。";
$uranai_message[3] =
"30代のあなたには、ビジネススキルとしてPHPを勉強すると良いみたい。";
$uranai_message[4] =
"40代のあなたには、PHPは新たなフロンティアとなるでしょう。";
$sedai = floor($_SESSION["age"] / 10);
?>
<html>
<body>
<?php
if (isset($uranai_message[$sedai])) {
print($uranai_message[$sedai]);
} else {
print($sorry_message);
}
?>
</body>
</html>
- 1
- 2






ページのトップへ


shimix様、いつもわかりやすい説明をありがとうございます。 「includeはエディタでコピペした状態と同じ」 この表現、私も授業で使わせていただきたいと思います。