ページを戻った際、一部のブラウザでフォーム入力の内容が復元されない
会員登録確認画面からブラウザの戻るボタンを押したとき、会員登録入力画面で入力した値が保持された状態で入力画面に表示ほしいのですが、Chromeでは入力画面で入力した内容が再現されるのにMicrosoft edgeやFirefoxでは再現されません。なぜでしょうか。
また、どう修正すればedgeやFirefoxでも値が再現されるようになるのでしょうか。
■aaa.php(会員登録入力画面)
<?php
session_start();
if(!empty($_POST)){
$_SESSION['input'] = $_POST;
header('Location: bbb.php');
exit();
}
if($_REQUEST['action'] == 'reInput' && isset($_SESSION['input'])){
// 入力内容再現。
$_POST = $_SESSION['input'];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>会員登録入力</title>
</head>
<body>
<div id="wrap">
<div id="head">
<h1>会員登録入力</h1>
</div>
<div id="content">
<p>ご記入ください。</p>
<form action="" method="post">
<dl>
<dt>名前</dt>
<dd>
<input type="text" name="name" size="35" maxlength="255" value="<?php print(htmlspec ialchars($_POST['name'], ENT_QUOTES)); ?>"/>
</dd>
<dt>メールアドレス</dt>
<dd>
<input type="text" name="email" size="35" maxlength="255" value="<?php print(htmlspe cialchars($_POST['email'], ENT_QUOTES)); ?>" />
</dd>
<dt>備考</dt>
<dd>
<input type="text" name="bikou" size="35" maxlength="255" value="<?php print(htmlspe cialchars($_POST['bikou'], ENT_QUOTES)); ?>"/>
</dd>
</dl>
<div><input type="submit" value="確認" /></div>
</form>
</div>
</body>
</html>
■bbb.php(会員登録確認画面)
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>会員登録確認画面</title>
</head>
<body>
<h1>会員登録確認画面</h1>
<p>内容確認後、「登録」ボタンをクリックしてください</p>
<form action="" method="post">
<dl>
<dt>名前</dt>
<dd>
<?php print(htmlspecialchars($_SESSION['input']['name'], ENT_QUOTES)); ?>
</dd>
<dt>メールアドレス</dt>
<dd>
<?php print(htmlspecialchars($_SESSION['input']['email'], ENT_QUOTES)); ?>
</dd>
<dt>備考</dt>
<dd>
<?php print(htmlspecialchars($_SESSION['input']['bikou'], ENT_QUOTES)); ?>
</dd>
</dl>
<div><a href="aaa.php?action=reInput">« 修正</a> | <input type="submit" value="登録 " /></div>
</form>
</body>
</html>