• ベストアンサー

クエリ文字列が取得できない

以下のようなプログラムを作りました。 test.php -------------- <HTML><BODY> <?php echo($_REQUEST["n"]); ?> </BODY></HTML> -------------- それで http://(省略)/test.php?n=5 とURLをいれて Query Stringから5を取得させて表示させたいのですが ローカルでのテスト(Apache/1.3.27)はうまくいくのですが サーバーにアップロードすると何も表示されません。 他のPHPのプログラムは動くのですが、どうもこの$_REQUEST["n"];の部分がうまくいっていないようです。 プログラムのミスか、設定のミスか、考えられる対処法を教えていただけないでしょうか? 環境 PHP 4.2.2 サーバー:レンタルサーバー(1-man.net) (phpは使えるサーバーです) Dreamweaver MX

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

  • ベストアンサー
  • sisya
  • ベストアンサー率39% (97/244)
回答No.2

そのphpが設置されているサーバは getの値での受け渡しを許可していますか? (許可していない所は少ないでしょうけど、一応…) $_REQUESTを$_GETにしても駄目でしょうか?

UO_MISIA
質問者

お礼

メールでのサポートは受けられなかったのですが、サーバー管理会社の技術者の方がサンプルを上げてくださり、それを検証してみたところ、なんとか解決しました。 ちなみになんですが サーバーのPHPのバージョンが実は私の勘違いで 4.2.2ではなく4.0.6で $_GETではなく$HTTP_GET_VARSで取得することがわかりました。 <HTML><BODY> echo $HTTP_GET_VARS["n"]; </BODY></HTML> バージョンによって呼び出し変数が違うのだということが勉強になりました。 皆さまありがとうございました。

UO_MISIA
質問者

補足

GETを許可しているかどうか問い合わせてみました。 返事いただいたらこちらにもお知らせします。 ちなみに$_GETにしてもだめでした。

その他の回答 (2)

noname#7734
noname#7734
回答No.3

 直接の回答ではありませんが、変数の設定で困ったときに、 とりあえず表示してみるという方法があります。  たとえば、 print_r($GLOBALS); で全てのグローバル変数が表示されます。

UO_MISIA
質問者

お礼

参考になりました。ありがとうございました。

UO_MISIA
質問者

補足

n=5 というクエリ文字列らしきものは表示されるんですけど・・・ サーバー(1-man.net)に問い合わせてみたところ 「PHPについてはこちらをご覧ください」とあって、php INFO画面へのリンクが張られているだけでした。 独学で何とかしなさいって意味かなぁ。 その中に HTTP_SERVER_VARS["REQUEST_METHOD"] GET というのがあったのですけど、これはGETを禁止されてないって意味なのでしょうか。

  • GETSTREET
  • ベストアンサー率18% (14/74)
回答No.1

<HTML><BODY> <?php echo $_GET["n"]; ?> </BODY></HTML>

UO_MISIA
質問者

お礼

参考になりました。どうもありがとうございました。

UO_MISIA
質問者

補足

$_GET["n"]; でもダメでした。 何が悪いのでしょう? ちなみにパーミッションは「755」です。何か関係があるでしょうか?

関連するQ&A

専門家に質問してみよう