PHPでGETの値を引き継ぐ方法について教えてください

このQ&Aのポイント
  • PHPでGETの値を引き継ぐ方法について教えてください。
  • 現在、上下に分かれたフレームページで検索フォームと検索結果リストを作成しています。
  • 検索条件を設定し、GETで下段に送信する際、URLのパラメータを引き継ぎたいです。
回答を見る
  • ベストアンサー

$_SERVER["PHP_SELF"]などでURLについているGETの値を引き継ぎたい

PHP 5.2.2 上下に分かれたフレームページで、上段が検索フォーム、 下段が検索結果リストという構成のサイトを作っています。 検索条件を設定し、GETで下段に送ります。 下段に書き出されたHTMLをIE7の右クリックでプロパティをみると、 URLは、ちゃんと以下のようにパラメータがぶら下がっています。 http://www.example.jp/temp/mypage.php?aaaaa=1&bbbbb=2&ccccc=3 ところが、 echo $_SERVER["PHP_SELF"] とやっても、 /temp/mypage.php としか書き出されません。ここは、 http://www.example.jp/temp/mypage.php?aaaaa=1&bbbbb=2&ccccc=3 と書き出されてほしいのですが。 php.iniの設定を変えるとか、$_SERVER["PHP_SELF"]を別のサーバー変数に するとかで、何とか「?aaaaa=1&bbbbb=2&ccccc=3」この部分を 引き継ぎたいのですが、何か方法はありませんか。 先日、http://oshiete1.goo.ne.jp/qa4397672.htmlのご回答をいただき、 http://oshiete1.goo.ne.jp/qa1612121.htmlのNo2さんのを実装するために 検索条件を引き継ぎたいのです。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • prorz
  • ベストアンサー率66% (2/3)
回答No.1

$_SERVER['QUERY_STRING'] ではどうでしょうか? phpinfo(); で確認して見るものいいかも知れません。

litton101
質問者

お礼

prorzさん、早速のご対応ありがとうございました。 バッチリOKでした。 大変助かりました。

関連するQ&A

  • PHPでDBからデータを抽出してHTMLで表示する

    クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • ベストアンサー
    • HTML
  • PHPでDBからデータを抽出してHTMLで表示

    こんにちは。 PHP初心者のものです。 クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • 締切済み
    • PHP
  • phpファイルを直接参照できないようにするには?

    phpファイルでMySQLのDBにアクセスし、 contents=aaaaa&title=bbbbb&update_at=ccccc という形でファイルに表示させ、それをFLASHで読み込むということ ができるようになりました。 しかしこのphpファイルのURLをアドレスバーに直打ちされてしまうと、 contents=aaaaa&title=bbbbb&update_at=ccccc が丸見えになってしまいます。 この内容はFLASHを通してのみ参照できるようにしたいのですが、 phpファイルの直打ち参照を防ぐにはどうすればいいでしょうか?

    • ベストアンサー
    • Flash
  • 連想配列を変数にする?

    こんにちは。 質問タイトルが変かもしれません。。。 xmlから受け取ったデータをphpで表示してます。 ・・・xmlデータの受取(?)は他社にお願いしており、私はphpでの表示のみなのでデータそのものは分かりません。 [aaaaa][bbbbb][ccccc][ddddd][depday] [aaaaa][bbbbb][ccccc][ddddd][cityname] [aaaaa][bbbbb][ccccc][ddddd][b][depday] [aaaaa][bbbbb][ccccc][ddddd][b][cityname] のように非常に長い連想配列があり、一番最後の[depday]と[cityname]は常に同じです。あまりにも長いので $hairetsu_1 = [aaaaa][bbbbb][ccccc][ddddd]; echo $hairetsu_1[depday]; echo $hairetsu_1[cityname]; $hairetsu_2 = [aaaaa][bbbbb][ccccc][ddddd][b]; echo $hairetsu_2[depday]; echo $hairetsu_2[cityname]; のように表示させる事は出来るのでしょうか? とんちんかんな質問だったらお許しください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • フレームでページ分かれていてもPOSTやGETする値を保持したい

    わたしが3年前に質問したものですが、 http://oshiete1.goo.ne.jp/qa1612121.html このNo2さんの例示をそのまま組み込んでみたのですが、 元質問にあるように、上段フレームでPOSTした検索条件を 下段フレームで受け取ります。 例示の場合、下段フレームでソートをかけると 上段で設定した検索条件がリセットされてしまうわけですが、 どうやったら回避できるでしょうか。 フレームで分けずに一枚のPHPで完結すべきでしょうか? あるいは、POSTされた検索条件をSESSIONなどで保持しなければ だめでしょうか?

    • ベストアンサー
    • PHP
  • DBのWHERE~ANDの使い分けをphpで処理

    <input type="text" name="aaaaa" value=""> <input type="text" name="bbbbb" value=""> <input type="text" name="ccccc" value=""> このinputは全部で30個あります。DBには30個のカラムがあって、 対象のカラムと比較する値valueが""のときはWHERE以降をやらないで、 1つ以上のときはWHERE句をやってANDで繋げて絞り込んでいきたいです。 $_GETのキー名とその対象のカラム名は別々につけています。 $_GETの値は文字列や数字が入ります。 <?php mb_http_output('UTF-8');/*ajaxの読み込みにつかうファイルのため*/ mb_internal_encoding('UTF-8');/*ajaxの読み込みにつかうファイルのため*/ if(isset($aaaaa) && strlen($aaaaa)>0){ $aaaaa = mb_convert_encoding($_GET['aaaaa'], "UTF-8"); htmlentities($aaaaa, ENT_QUOTES); $test1["id"] = $aaaaa; } if(isset($bbbbb) && strlen($bbbbb)>0){ $bbbbb = mb_convert_encoding($_GET['bbbbb'], "UTF-8"); htmlentities($bbbbb, ENT_QUOTES); $test1["name"] = $bbbbb; } if(isset($ccccc) && strlen($ccccc)>0){ $ccccc = mb_convert_encoding($_GET['ccccc'], "UTF-8"); htmlentities($ccccc, ENT_QUOTES); $test1["textdata"] = $ccccc; } /*あと27個つづきます*/ mysql_set_charset('utf8'); $my_1 = "SELECT * FROM tablename"; if(isset($test1) && !$test1==null){ foreach($test1 as $key => $value){$test2 = $key;} $my_1 .= " WHERE "; while($test1--){ $my_1 .= $test2."=".$test1[$test2]." AND "; if($test1==0){$my_1 .= $test2."=".$test1[$test2];} } $my_1_q = mysql_query($my_1,$mysql); } /*$my_1を他のとこでも使いたい*/ $my_2 = $my_1." ORDER BY id LIMIT 0,10"; $my_2_q = mysql_query($my_2,$mysql); $my_3 = "SELECT COUNT(*) AS ccc FROM tablename WHERE name='$aaaaa' AND bbbbb='$bbbbb'"; $my_3_q = mysql_query($my_3,$mysql); if(!$my_1_q && !my_2_q && !$my_3_q){die(mysql_error());} こんなかんじでやったのですが、クエリの作成でエラーになってしまいます。 できれば最初のifがいっぱい続くのももっと上手にできるようにしたいです。

    • ベストアンサー
    • PHP
  • PHPでPHPファイルを作成することはできますか?

    タイトルの通りの質問です。 http://example.jp/test.phpを実行すると、 tempというディレクトリが作成され、さらにその中に file.phpが作成するなんてことできませんか? file.phpの中身は ---ここから <?php echo "<html><body>hello world!</body></html>"; ?> ---ここまで …とし、当然ながら http://example.jp/temp/file.php にアクセスすると「hello world!」と表示されるようにしたいのですが。

    • ベストアンサー
    • PHP
  • ソート処理

    ついこの間正規表現のことで質問させていただいたものです なんとか問題は解決しました それとは別にソート関連での質問があります 正規表現の前にソートについて質問してご回答を頂いてからそれを参考に試してみました http://oshiete1.goo.ne.jp/kotaeru.php3?q=1882190 です push で@tmpの内容を ($score,$filename,$title,$sentenceの順番に) 3.5 abc.txt あいうえお aaaaa 4.6 def.txt かきくけこ bbbbb 2.8 ghi.txt さしすせそ ccccc 5.1 jkl.txt たちつてと ddddd という風にしました このリストを @tmp = map {$_->[0]} sort {$a->[0] <=> $b->[0]} map {[$_, split /<>/]}@tmp; としたんですが結果は abc.txt あいうえお aaaaa def.txt かきくけこ bbbbb ghi.txt さしすせそ ccccc jkl.txt たちつてと ddddd 3.5 4.6 2.8 5.1 というふうになってしまいます これを スコア順に 5.1 jkl.txt たちつてと ddddd 4.6 def.txt かきくけこ bbbbb 3.5 abc.txt あいうえお aaaaa 2.8 ghi.txt さしすせそ ccccc としたいのですがうえのソースでは何がいけないんでしょうか??

    • ベストアンサー
    • Perl
  • $_SERVERについて

    $_SERVERについてご質問です。 現在、他人が書いたPHPプログラムを解析中です。 そのプログラム内に以下のような一文がありました。 $arr['aaa'] = split(";", $_SERVER['AAAAA']); 基本的にはセミコロンで分割したものを 配列に格納する動きだと思いますが、問題なのは $_SERVER['AAAAA'] の部分です。 正確にはAAAAAではないんですけど、 http://php.net/manual/ja/reserved.variables.server.php こちらのページに書いてある変数(添え字?)ではありません。 また、 ・ $_SERVER AAAAA でGoogle検索しても見つかりません。 ・ DefineなどでAAAAAが定義されていることはありません。 ・ ファイルを全検索してもAAAAAはここでしか使われていません。 そこでご質問なのですが、 $_SERVER['AAAAA']の正体をどなたかご推察いただけないでしょうか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • jQuery.ajaxのdata部分を共通化したい

    以下のコードについてアドバイスいただきたくご質問しました。 jQuery.ajax({ type: "POST", url: "/hoge.php", data: { 'aaaaa':'あああああああああああ', 'bbbbb':'いいいいいいいいいいいいいいいい', 'ccccc':'うううううううううううううううううううう', 'ddddd':'えええええええええええええええええ' } }); jQuery.ajax({ type: "POST", url: "/test.php", data: { 'aaaaa':'あああああああああああ', 'bbbbb':'いいいいいいいいいいいいいいいい', 'ccccc':'うううううううううううううううううううう', 'ddddd':'えええええええええええええええええ' } }); ↑この形のコードが復数あります。 data{~~}の内部は、同じなので共通化?したいのですが、 この場合はどのように記述すれば良いのでしょうか。 よく行う共通処理をfunctionなどでまとめておくような外部化みたいな事は可能でしょうか。 拙い説明ですが、よろしくお願いいたします。