• ベストアンサー

GETを使ったファイル間の値渡し

現在、PHP・MySQLを使用した開発を行っております。 早速、質問に入りますが・・・まずは概要として以下のような使用となっております。 ・index.htmlからリンク時に、A.phpに飛びDBへアクセスし表示すべきURL(top.html)を取得します ・表示されたURL(top.html)には、5つのリンクがあるのですが5つのリンク先URLは、A.php処理中にDBにて取得した5つのパラメータ値としています。 つまり、top.html内に変数値として値を保持させておきたいのです。 sessionを使うという話しもあったのですが、諸事情により現在はGET関数を思考しております。 以上が概要です。 質問は、A.phpにて取得した5つの値をtop.htmlに渡すにはどのようなコーディングを行えば良いのでしょうか? PHP初心者のため苦戦しております。 何かアドバイスをお願いできれば幸いです。

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

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.3

>header("Location:".$URL); $URLの中身が 「b.php?a1=aaa&b1=bbb」のようになっていれば、b.phpで$_GET[]でデータ取得できます。

その他の回答 (2)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

>PHP初心者 php manual で構文をまずしっかり覚えることが先決のように見受けます。 参考  http://www.php.net/manual/ja/ >別変数に格納するには <? ?>の中にphpのコードを記述します。外側はhtml文書です。 <? $hensu=$_GET('a1'); ?> <?=$_GET('a1')?> これは省略記法で、<? echo $_GET('a1'); ?>とも書きます。 >> 次の処理でも値を使う場合はリンクURLに値を出力しておけば保持できますし >というのは、URLバーに値を表示されるのですか? get送信したデータも、php?queryとした場合も、全て、url欄に表示されます。

atlas112
質問者

補足

ご回答ありがとうございます。 とても参考になります。 我が儘ながら、もう1つご教授頂けますでしょうか? 現在、A.phpにて処理させ最終的なURLを変数に格納した上で、下記のような記述でサイトジャンプを実現させいておりますが、このHeader関数に関して・・・パラメータを指定することは可能なのでしょうか? また、可能である場合GETのようなその場での変数格納ではなく、事前に変数に格納しておくことは可能でしょうか? 不勉強であり、初心者ながらアドバイス頂ければ、幸いです。 記述例: (-----------------処理省略-----------------------------------) mysql_close($MySQL['conn']);      // ↓のHeaderにパラメータを与えられますか? header("Location:".$URL); } // A.php終了

  • emuko
  • ベストアンサー率46% (45/97)
回答No.1

top.htmlもPHPにしてしまえば? たとえばtop.phpとしたときに、$a1 $b1 $c1 $d1とあったとすると、 A.php内では top.php?a1=aaaa&b1=bbbb&c1=cccc&d1=dddd へ飛ばすようにして、 表示されるtop.phpの中には <?=$_GET('a1')?>">とすれば値を取り出せますよね。 次の処理でも値を使う場合はリンクURLに値を出力しておけば保持できますし。

atlas112
質問者

補足

ご回答ありがとうございます。 > A.php内では > top.php?a1=aaaa&b1=bbbb&c1=cccc&d1=dddd へ飛ばすようにして、 ということでしたが、この記述方法はジャンプタグ時に変数に値を入れていますが、事前に変数に値を入れておくことは可能でしょうか? また、その場合の記述方法はどのようなものでしょうか? 次に > 表示されるtop.phpの中には > <?=$_GET('a1')?>">とすれば値を取り出せますよね。 について、top.phpに宣言した別変数に格納するには以下の記述でよろしいのでしょうか? 記述例:$hensu = <?=$_GET('a1')?>"> > 次の処理でも値を使う場合はリンクURLに値を出力しておけば保持できますし というのは、URLバーに値を表示されるのですか? 初心者で申し訳ありませんが、お答え頂ければ嬉しいです。