• ベストアンサー

GETとheader

お世話になっております。 適切な題名が思い浮かばず、「GETとheader」といたしましたが、以下のような流れの中(ソースは流れだけのものです)、 A.php $url = $http://www.○○.com/a.php?id=△△&key=□□//各キーの数は変動 header( "$http://www.○○.com/b.php?url=$url"); B.php $url=$_GET["url"]; header( "$url"); としたいのですが、このままだと、$http://www.○○.com/a.php?id=△△ までしか渡されず、b.phpにおいて、$urlをexplode関数により、分割してみたり、parse_url関数を用いて試してみたりしていますが、上手くb.phpからa.phpへ戻すことが出来ません。 適当な関数だけでも構いませんので、アドバイスなど頂戴できたら幸いです。宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

これってheaderのlocationでbにとばしたいってことですか? 単純にエンコードしてみてください。 <?PHP $url = "a.php?id=△△&key=□□"; $url=urlencode($url); header("Location:http:b.php?url=$url"); ?> ちなみにフロー的にはa.phpからb.phpにとばして b.phpからa.phpに飛ばしているので無限ループになってませんか?

sadacha
質問者

お礼

yambejp様 こんにちは。お世話になっております。 エンコードしたものを受取り、デコードした後さらにエンコードしてヘッダー送信する・・という手順で上手くいきました!有難う御座います。 ソースだけみると無限ループのようですが、ある処理をするためb.phpに渡し、処理を行った後また元のa.phpに戻す。という流れを考えての内容です。 ヘッダー関数を用いて元のページに戻すためのスクリプトを考えていたのですが、知識が乏しく、これ以外には思いつかず試行錯誤を繰り返していた、という状況でした。 (他にもっとスマートなやり方があるとは思うのですが・・・) いずれにせよ、描いていた動作を得ることが出来ました。 有難う御座いました。

その他の回答 (1)

  • jone
  • ベストアンサー率42% (6/14)
回答No.1

恐らく以下の様な変数の定義って問題アリじゃないでしょうか? PHP以前の話になっちゃいますケド。。 >$url = $http://www.○○.com/a.php?id=△△&key=□□ 以下にソース書きます。 /* $id、$keyには、変動する値を設定。 例) $id = 1 $key = 2 */ $url = 'http://www.○○.com/a.php?id=' . $id . '&key=' . $key; header('http://www.○○.com/b.php?url=' . $url); 申し訳ないのですが、試しておりませんので、一度お試しください。

参考URL:
http://www.php.net/manual/ja/language.variables.php
sadacha
質問者

お礼

jone様 はじめまして、こんにちは。 夜遅くのご応えを有難う御座います。 >恐らく以下の様な変数の定義って問題アリじゃないでしょうか? 投函時、手入力で行った際、""; にて括るのを忘れてしまったようです。汗 ご親切なご指摘とその対処を有難う御座いました。

関連するQ&A

専門家に質問してみよう