POSTされた値をセッション変数で受け継ぐ
フォームのソースコード
<form method="POST" action="confirm.php">
<li><label> 名前:
<input type="text" name="name" placeholder="ニックネーム可" ;>
</label></li>
<li><label>好きな食べ物:
<input type="text" name="food" ;>
</label></li>
<li><input type="submit" value="確認する"></li>
</form>
確認ページのソースコード
<?php
require_once("es.php");
session_start();
?>
<?php
if (!checkEn($_POST)) { //文字エンコードの検証
$encoding = mb_internal_encoding(); //PHPが使うエンコードを調べる
$err = "Encoding Error! The espected encoding is" . $encoding;
exit($err); //エラーメッセージを出してコードのキャンセルする
}
?>
<?php
//POSTされた値をセッション変数に受け渡す
if (isset($_POST['name'])) {
$_SESSION['name'] = $_POST['name'];
}
if (isset($_POST['food'])) {
$_SESSION['food'] = $_POST['food'];
}
$error = [];
if (empty($_SESSION['name'])) { //未設定の時エラー
$error[] = "名前を入力してください";
} else {
$name = trim($_SESSION['name']); //名前を取り出す
}
if (empty($_SESSION['food'])) { //未設定の時エラー
$error[] = "好きな食べ物を入力してください";
} else {
$food = trim($_SESSION['food']); //名前を取り出す
}
?>
<!doctype html>
<html lang="ja">
<head></head>
<body>
<header></header>
<div class="main-wrapper">
<h2>セッション確認ページ</h2>
<form>
<?php if (count($error) > 0) { ?>
<!-- エラーがあったとき -->
<span class="error"><?php echo implode('<br>', $error); ?></span><br>
<span>
<input type="button" value="戻る" onclick="location.href='sessionForm1.php'">
</span>
<?php } else { ?>
<!-- エラーがなかったとき -->
<span>
名前:<?php echo es($name); ?><br>
好きな食べ物:<?php echo es($food); ?><br>
<input type="button" value="戻る" onclick="location.href='sessionForm1.php'">
<input type="button" value="送信する" onclick="location.href='thanks.php'">
</span>
<?php } ?>
</form>
</div><!-- /.main-wrapper -->
</body>
</html>
完了ページのソースコード
<?php
require_once("es.php");
session_start();
?>
<?php
if (!checkEn($_POST)) { //文字エンコードの検証
$encoding = mb_internal_encoding(); //PHPが使うエンコードを調べる
$err = "Encoding Error! The espected encoding is" . $encoding;
exit($err); //エラーメッセージを出してコードのキャンセルする
}
?>
<?php
//POSTされた値をセッション変数に受け渡す
if (isset($_POST['name'])) {
$_SESSION['name'] = $_POST['name'];
}
if (isset($_POST['food'])) {
$_SESSION['food'] = $_POST['food'];
}
$error = [];
if (empty($_SESSION['name'])) { //未設定の時エラー
$error[] = "名前を入力してください";
} else {
$name = trim($_SESSION['name']); //名前を取り出す
}
if (empty($_SESSION['food'])) { //未設定の時エラー
$error[] = "好きな食べ物を入力してください";
} else {
$food = trim($_SESSION['food']); //名前を取り出す
}
?>
<!doctype html>
<html lang="ja">
<head></head>
<body>
<header></header>
<div class="main-wrapper">
<h2>セッション確認ページ</h2>
<form>
<?php if (count($error) > 0) { ?>
<!-- エラーがあったとき -->
<span class="error"><?php echo implode('<br>', $error); ?></span><br>
<span>
<input type="button" value="戻る" onclick="location.href='sessionForm1.php'">
</span>
<?php } else { ?>
<!-- エラーがなかったとき -->
<span>
名前:<?php echo es($name); ?><br>
好きな食べ物:<?php echo es($food); ?><br>
<input type="button" value="戻る" onclick="location.href='sessionForm1.php'">
<input type="button" value="送信する" onclick="location.href='thanks.php'">
</span>
<?php } ?>
</form>
</div><!-- /.main-wrapper -->
</body>
</html>