- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数ページのセッションの送り方)
複数ページのセッションの送り方
このQ&Aのポイント
- 複数ページのセッションの送り方について知りたいです。
- 登録画面でa.phpからd.phpにa.phpの情報を持っていく方法を教えてください。
- c.phpの情報は正しく送られてきますが、a.phpの情報が送られてこない問題が発生しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2さまの発言を補足すると、$_POSTに入っている内容にもよりますが $_SESSION['join'] = $_POST; を $_SESSION['join'] .= $_POST; にしないといけませんね。 Cの$_POSTにAの情報が入っていないと、上書きされるのでなくなっても当然ですね。
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
回答No.2
なぜ、c.phpで $_SESSION['join'] = $_POST; header('Location: d.php); となっているのでしょうか?c.phpにはどこから何がPOSTされるんですか?この時点で$_POSTが空っぽなら$_SESSION['join']は空になってしまいます。
- _if_
- ベストアンサー率52% (26/50)
回答No.1
C->Dに来ているのであれば、AからのSessionが引き継がれているはずなのですが。 (ドメインが変わったり、Sessionなどを消したりしていなければ) A,B,CでのSessionの扱いはどうなっておりますか? また、session_start()をちゃんとつけておりますか?
補足
回答ありがとうございます。 session_start();はつけております。 //a.php if(empty($error)) { $_SESSION['join'] = $_POST; header('Location: b.php); exit(); } //b.php if (!isset($_SESSION['join'])){ die('stop'); header('Location: a.php); exit(); } if (!empty($_POST)) { header('Location: c.php); exit(); } //c.php if(empty($error)) { $_SESSION['join'] = $_POST; header('Location: d.php); exit(); } としております。 c.phpにも if (!isset($_SESSION['join'])){ die('stop'); header('Location: b.php); exit(); } aを引き継ぐためにはこのような表記が必要なのでしょうか?