• 締切済み

遷移前のページのクエリを取得したい

PHPについての質問です。 ブラウザに、 ttp://hogehoge.com/hoge1.php?hoge=moge というページを表示している状態で、そのページ内のリンクをクリックし、そのリンク先は、 ttp://hogehoge.com/hoge2.php というページだとして、この hoge2.php で直前のページ(hoge1.php)の「hoge=moge」という情報を取得したいです。 $_SERVER["QUERY_STRING"] で現在のページのクエリを取得できますよね。 また、 $_SERVER["HTTP_REFERER"] で遷移してくる前のページのアドレスを取得できますよね。 こういう感じで、遷移してくる前のページのクエリを取得する方法はありますか? cookieとかを使うしかないのでしょうか?

  • cnkozo
  • お礼率39% (158/402)
  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

$_SERVER["HTTP_REFERER"] に直前ページのurlとQUERY_STRINGも入ってるけど。 配列に分解したいなら、 parse_url() とか、 とQUERY_STRINGを $_GETのような配列に変換するなら parse_str() とかの関数がある。 http://jp.php.net/manual/ja/function.parse-url.php

  • kinta03
  • ベストアンサー率41% (7/17)
回答No.1

リンクに「hoge2.php?hoge=moge」の様に取得した内容をphpで追加したら駄目? セッションで渡すのも駄目?

関連するQ&A

  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • htmlにコードを貼り、リファラーを取得したい

    外部のhtmlページに以下のコードを貼り付け、リファラーとアクセスページを取得しようと思っているのですが、うまくいきません。 ▼ htmlページに貼り付けたコード(外部サーバ) <script type="text/javascript" src="http://example.com/script.php"></script> ▼ script.php の 中身(自サーバ) $access_url= 'http://' . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI]; $referer_url = $_SERVER["HTTP_REFERER"]; [現在の状態] $access_url の中身 = http://自サーバのドメイン/script.php $referer_url の中身 = http://コードを貼り付けたページ 色々と試行錯誤してこの形になったのですが、完全に行き詰ってしまいました。 方向性だけでも良いので、どなたかご教授いただけませんでしょうか。 よろしくお願いいたしますm( _ _ )m

    • ベストアンサー
    • PHP
  • 【PHP】ひとつ前のURLを常時得る方法は?

    レンタルのPHP5使用者です。 自分が作ったサイト内リンクだけでの話なのですが、ひとつ前に見たページが何かによって処理を分岐させたいことがあります。 はじめは $_SERVER[HTTP_REFERER] を見ればOK!と考えていたのですが、リダイレクト遷移の場合は取得不可能なことがわかりました。 では一体どうすれば… 3時間ほど考えた結果は以下の通りです。 $_GET[ ] 使用 → 値を容易に改ざんされるので×。 $_POST[ ] 使用 → $_SERVER[HTTP_REFERER]同様リダイレクト時に無理。 SESSION 使用 → 直前のURLとは限らない(直前が、静的ページ/リダイレクト/ブックマーク の場合さらに古いURLを得てしまう) Cookie  使用 → 同上 <条件> *停止させている方も多いため、勝手ながら今回javascriptは使わないことを前提にさせてください。 *直前が静的ページ/ブックマーク等なら値なしでOKです。 一見簡単そうに見えた問題があまりに難しいので悩みました。「あきらめろ」という回答でもOKです。よろしくお願いいたします。

    • 締切済み
    • PHP
  • REFERERの取得

    a.php <INPUT type="button" onClick="location.href='b.php'"> としてボタンをクリックしたらb.phpに飛ぶようにして b.php $referer = $_SERVER[’HTTP_REFERER’]; print $referer; としたら、 何も表示されないので、REFERERが取得できていないということなんでしょうか?それと、どういう場合にREFERERは取得できないんでしょうか?

    • ベストアンサー
    • PHP
  • トップページの前に期間限定のトップページ

    表題の件ですが、 http://www.hogehoge.com/ へアクセスした人を トップページ(index.php)の前に期間限定のトップページ(2013.php)を表示させたいのですが、htaccessで 2013.phpを優先にしてしまえば、2013.phpが最初に表示されますが、そこから、index.phpに移動したあと、Home へリンクすると、http://www.hogehoge.com/index.phpへリンクしたいのですが、 再度、http://www.hogehoge.com/2013.phpが表示されてしまします。 最初にアクセスしたら http://www.hogehoge.com/2013.php その中から、 http://www.hogehoge.com/index.phpへ移動して、 あとはhttp://www.hogehoge.com/へアクセスしても、 http://www.hogehoge.com/index.phpが優先で表示させる方法は無いのでしょうか? 恐れ入りますが、お分かりになられる方ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • PHPで携帯ページに自動遷移する処理について

    PHPのsnoopyを使って携帯ページに自動遷移するプログラムを作ったのですが、遷移した先が携帯ページではなくPCのページが表示されてしまいます。 <a>タグで同じURLリンクをクリックした時は携帯ページに遷移するのですが、自動で行うとなぜかうまくいきません。 自動とクリックだと何か違うのでしょうか? (自動だとWEBサーバ側のブラウザからリダイレクトしているから??) <ソース> $agent = $_SERVER['HTTP_USER_AGENT']; $snoopy = new Snoopy; $snoopy->agent = $agent; $url="aaaa.php"; $snoopy->submit($url); echo "<a href=".$url.">test</a>"; echo $snoopy->results; よろしくお願いいたします。

    • 締切済み
    • PHP
  • リンク切れの通知で前のページが不明の場合

    リンク切れがあった場合に、自動で管理者にメール送信し、リンク切れのページとその前のページ( Request.ServerVariables("HTTP_REFERER"))のURLを取得するように設定してあるのですが、前のページが取得できない場合があります。これは、どのようなケースと考えればよいものでしょうか?検索エンジン? #NTサーバーでの設定です。

  • PHPでのURL取得とブックマークについて

    お世話様になります。 現在[hoge.php]ページ内の<iframe>タグに[.html]ページをPHPプログラムでランダムに読み込んでいます。 (例)、 [hoge.php]に[A.html]が読み込まれた [hoge.php]に[B.html]が読み込まれた [hoge.php]に[C.html]が読み込まれた つまり上記の様になりますが、例えば『[hoge.php]に[B.html]が読み込まれた』という状態をPHPを使ってURL取得するにはどの様なプログラムを書けば宜しいでしょうか?また、この状態をブックマークさせる方法は有るでしょうか? 一応、今は現在のページURLを取得する方法として <? print("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?> という記述のみ使っています。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • モーダルウィンドウでページ内遷移する方法

    remodal.jsを利用して開いたモーダルウィンドウから、元ページ内遷移するようにリンクを設置した場合、クリックで遷移と同時にモーダルウィンドウを消す方法をご存知でしたら教えていただけますでしょうか。 モーダル内のhtml抜粋 <ul> <li><a href="#hoge">ほげ</a></li> <li><a href="#hoge2">ほげ2</a></li> </ul> remodal.js https://github.com/VodkaBears/Remodal

  • referer取得について

    ブログパーツを作成中です。 どこに設置されているか調べたいのでリファラを取っても期待通りの結果になりません。 パーツ設置側 <script src="hoge.js"></script> サーバ側 ・hoge.js document.write('<iframe src='disp.php'></iframe>); ・disp.php <?php> echo $_SERVER["HTTP_REFERER"]; </php> これだとREFERERには disp.php が格納されてしまいます。 ブログパーツを設置しているブログのURLを取りたいのですがどのようにしたら良いのでしょうか?

    • ベストアンサー
    • PHP