アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPをはじめたばかりの初心者です。
ネットでいろいろ調べましたがわからず困っています。
お助けくださいm(_ _)m

<内容>
フォームの入力内容をPHP側で参照できません。
具体的には、
<form method="post" action="test.php">
<select name="BirthDay" size="1">
<option value="1">1月生まれ</option>
<option value="2">2月生まれ</option>
<option value="3">3月生まれ</option>
</select>
<input type="submit" value="決定">
</form>
で飛ばした値を、
print($BirthDay);
で表示させようとしています。
しかし、$BirthDayには何も入ってきません。
ただ、できないのはローカル環境だけで、
実際、他のサーバーにアップしてやると正常に
動作します。
ローカル環境は
Win2000SP4+PHP4.4.1+Apache1.3.34
です。
httpd.confを見直しましたがわかりませんでした。
ぜひアドバイスをお願いしますm(_ _)m

A 回答 (3件)

そういうときは



$_POST[BirthDay] で受け取ります
GETの場合は
$_GET[]です
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。m(_ _)m
確かに受け取ることができました。
$_POSTを使用するのが確実なんですね。
勉強になりました。

お礼日時:2005/12/20 14:28

ちなみに、PHP 4.2.0より前のバージョンでは、 register_globals のデフォルト値はonになっているので、その場合はname=BirthDayの値は$BirthDayで取得できますが、それ以降のバージョンではセキュリティ上の問題からoffになっていて、回答1のような形での取得をすることになっています。


詳しくはマニュアルのhttp://jp2.php.net/manual/ja/language.variables. …
をよんでみて下さい。

参考URL:http://jp2.php.net/manual/ja/language.variables. …
    • good
    • 0
この回答へのお礼

なるほどregister_globalsの意味を教えていただいたことで今回の問題は完全にすっきりいたしました。
私のやり方は推奨されない方法だったんですね・・・
ありがとうございましたm(_ _)m

お礼日時:2005/12/21 16:01

#1の方の回答に補足。



GETかPOSTどちらでも受け取れるようにするには、
$_REQUEST[BirthDay]
で受け取れます。
    • good
    • 0
この回答へのお礼

補足いただきありがとうございました。
$_REQUESTというのは便利ですね。
使わせていただきます。
一応やりたいことはできるようにはなったのですが、
本来ローカル環境ではこのようにやるのが一般的なのでしょうか?$BirthDayで直接受けたりはしないほうがいいのでしょうか?環境の違いが何なのかまだ少しひっかかっておりまして、恐縮ですがその辺もコメントいただけると・・・ありがとうございましたm(_ _)m

お礼日時:2005/12/20 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!