PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問
PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問致します。
1.入力→2.確認→3.実行の3ページを作成しましたが、
2.確認で入力した値が間違っていた場合、1.入力に戻って訂正する仕様です
私は2.確認の戻るボタンにjavaのhistory.back();を使ったのですが
ブラウザやOSにより、戻った際にデータが保持されていない場合があるとの事だったので
他の方法がないかご教授下さい。サンプルコードを書いて頂くと助かります。
以下、作成したコード
1.入力画面(mail.html)
<html>
<body>
<form action="chk.php" method="post">
件名:<br>
<input type="text" name="subject" size="30" value=""><br>
送信者名:<br>
<input type="text" name="name" size="30" value=""><br>
メールアドレス:<br>
<input type="text" name="mail" size="30" value=""><br>
本文:<br>
<textarea name="message" cols="30" rows="5"></textarea><br>
<br>
<input type="submit" value="確認する">  <input type="reset" value="クリア">
</form>
</body>
</html>
2.確認画面(chk.php)
<?php
$name = $_POST["name"];
$message = $_POST["message"];
$subject = $_POST["subject"];
$mail = $_POST["mail"];
?>
<html>
<body>
<form action="send.php" method="post">
件名:<?php echo $subject; ?><br>
送信者名:<?php echo $name; ?><br>
メールアドレス:<?php echo $mail; ?><br>
本文:<?php echo $message; ?><br>
<input type="submit" value="これでOK">
  
//下記の戻るボタンで戻るとデータ保持をするようにしたい。history.back以外で。
<input type="button" value="戻る" onclick="history.back();">
<input type="hidden" name="name" value="<?php echo $name; ?>">
<input type="hidden" name="message" value="<?php echo $message; ?>">
<input type="hidden" name="subject" value="<?php echo $subject; ?>">
<input type="hidden" name="mail" value="<?php echo $mail; ?>">
</form>
</body>
</html>
3.送信画面(send.php)
<?php
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"];
if (!mb_send_mail("hoge@example.com", $_POST["subject"], $message, "From: " . $_POST["mail"])) {
exit("メールの送信に失敗しました。");
}
?>
<html>
<body>
<p>メールが送信されました。</p>
</body>
</html>
初心者ですので、わかりやすい表記をお願い致します。
お礼
ご回答、ありがとうございます。CGIは使えます。なかなか動かなくて困っています。少し前までは使えたんですが、私のパソコンがクラッシュしてしまい、ダメになりました。とり急ぎお礼です。すみません。