- 締切済み
PHPでの画面遷移について
PHP超がつくほどの初心者ですが、実現方法がわからないため ご教示願います。 同階層に aaaa/mainXXX.php aaaa/mainXXX.php aaaa/test1.php (共通) aaaa/test2.php (共通) にて作成しており、メインサイト自体は、複数ありそこから先へ遷移する場合は、 test1.php → test2.phpへと遷移させます。 しかし、mainのどこから遷移してきたかをtest.phpに戻るurlを埋め込みたいのですが どのように記述すれば、解決できるでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- dell_OK
- ベストアンサー率13% (766/5720)
1.セッション変数への記録 test1.php が実行された時に、 元のURLをセッション変数へ記録します。 先にお知らせした参照URLのコードを少し利用しましょう。 test1.phpへの記述 $x = $_SERVER['HTTP_REFERER']; if (isset($x)) { $_SESSION['modoru_url'] = htmlspecialchars($x); }else{ unset($_SESSION['modoru_url']); } 2.「戻る」リンクへの埋め込み test2.php への記述。 test1.php からも mainXXX.php へ「戻る」リンクするのでしたら、 同様の記述を1の処理以降で記述。 if (isset($_SESSION['modoru_url'])) echo '<a href="', htmlspecialchars($_SESSION['modoru_url']), '">[戻る]</a>'; このような感じになると思います。 私の方ではテストはしていません。 うまくいかない場合や、エラーなど出ましたら、 補足をいただければと思います。
- dell_OK
- ベストアンサー率13% (766/5720)
$_SERVER["HTTP_REFERER"] で判断できると思います。 test1.php に遷移した時に、この変数の値をセッション変数で記録しておいて、 test2.php に遷移した時に、記録しておいたセッション変数を利用して、 戻る用のURLに埋め込めばできると思います。 こちらに簡単な説明がありました。 http://oku.edu.mie-u.ac.jp/~okumura/php/env.php 「応用1」を参考にしてみてください。 test1.php → test2.php と経由するので、そのままでは使えません。 そのためにセッション変数を利用してください。
お礼
ご回答ありがとうございます!! まだまだ初心者で申し訳ないですが、 2ページ目に <?php if (isset($_SERVER['HTTP_REFERER'])) echo '<a href="', htmlspecialchars($_SERVER['HTTP_REFERER']), '">[戻る]</a>'; ?> を記述し、3ページ目に渡す場合、セッション変数を利用するとの 事ですが。。。。 2ページ目及び3ページ目にどう記述すればよいでしょうか。。 申し訳ないですが、よろしくお願いします。