プロが教えるわが家の防犯対策術!

PHP超がつくほどの初心者ですが、実現方法がわからないため
ご教示願います。

同階層に
 aaaa/mainXXX.php
 aaaa/mainXXX.php
 aaaa/test1.php (共通)
 aaaa/test2.php (共通)
 
にて作成しており、メインサイト自体は、複数ありそこから先へ遷移する場合は、
test1.php → test2.phpへと遷移させます。

しかし、mainのどこから遷移してきたかをtest.phpに戻るurlを埋め込みたいのですが
どのように記述すれば、解決できるでしょうか。

A 回答 (2件)

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>';

このような感じになると思います。
私の方ではテストはしていません。
うまくいかない場合や、エラーなど出ましたら、
補足をいただければと思います。
    • good
    • 0

$_SERVER["HTTP_REFERER"] で判断できると思います。



test1.php に遷移した時に、この変数の値をセッション変数で記録しておいて、
test2.php に遷移した時に、記録しておいたセッション変数を利用して、
戻る用のURLに埋め込めばできると思います。

こちらに簡単な説明がありました。
http://oku.edu.mie-u.ac.jp/~okumura/php/env.php
「応用1」を参考にしてみてください。

test1.php → test2.php と経由するので、そのままでは使えません。
そのためにセッション変数を利用してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!!
まだまだ初心者で申し訳ないですが、
2ページ目に
<?php
if (isset($_SERVER['HTTP_REFERER']))
echo '<a href="', htmlspecialchars($_SERVER['HTTP_REFERER']), '">[戻る]</a>';
?>
を記述し、3ページ目に渡す場合、セッション変数を利用するとの
事ですが。。。。
2ページ目及び3ページ目にどう記述すればよいでしょうか。。
申し訳ないですが、よろしくお願いします。

お礼日時:2008/10/15 20:21

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