dポイントプレゼントキャンペーン実施中!

入力内容をセッションで保持しているフォームで,
入力画面から「前の画面に戻る」ボタンが押された際に
保持していた入力内容のセッションを破棄するようにしたいのですが,
どのようにしたらいいでしょうか.

unset($_SESSION['変数名'])で破棄できるのはわかっているのですが,
これをどこに記述したらいいのかがわかりません.
それとも,別の破棄する方法があるのでしょうか.

入力内容に関係ないところでもセッションを使っているので,
session_destroy()ですべて破棄するのはしたくありません.
よろしくお願いいたします.

A 回答 (1件)

ちょっと冗長になりそうですが、「前の画面に戻る」ボタンからPOSTでもGETいいのでクリックしたときに値を渡すようにして、そこから戻られる可能性のあるページ全てでそのパラメータをチェックして条件分岐させればいいと思います。


「全て」と言いましたが恐らく1ページしか無いかとは思いますが。

【確認ページ】

...(省略)...
<a href="form.php?destroy">前の画面に戻る</a>
...(省略)...

【入力ページ】

<?php

session_start();

if (isset($_GET['destroy'])) {
unset($_SESSION['変数名']);
}

...(省略)...

?>
<!DOCTYPE html>
<html>
...(省略)...


こちらも参考にどうぞ。
セッションを使わずにこうやって全部1ページにまとめちゃう方法もあります。
(このサンプルには入力内容を破棄する「前の画面に戻る」は未実装です)
大がかりなもので無ければ私はこっちのやり方の方が好みですね。
http://bloggdgd.blog28.fc2.com/blog-entry-287.html
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございました!
参考にさせていただきます.

お礼日時:2013/09/17 15:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!