• ベストアンサー

HTMLとPHPについて

こんにちは、質問させてください。 HTMLとPHPを用いて簡単なアプリケーションを作成しています。 画面に入力した情報でSQLを発行して 結果を別画面に表示するものです。 今問題になっているのが入力した情報が渡らないことです。 ---------------------------------------- <html側> (省略) 名前:<input type="text" name="p_name"> (省略) ---------------------------------------- <php側> (省略) $sql="select value1 from T_Table where name= '$p_name'"; (省略) ---------------------------------------- となる簡単なものなんですが、SQL文でどうしても "where name= ''"となってしまいます。 どうしてでしょうか?何か設定の問題でもあるのでしょうか?

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

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

FAQですね。 php-4.2.0以降で設定変更があり、 register_globals というオプションのデフォルト値が「On」から「Off」に変更されたためです。 また、PHP4では$HTTP_POST_VARS、$HTTP_GET_VARSではなく、$_GET、$_POSTが推奨されています。

653
質問者

お礼

できました!! ありがとうございました!!

その他の回答 (1)

  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.1

PHPのバージョンは何をお使いでしょうか? PHP4から、フォームのデータをそのまま変数として使用できなくなりました。 ><input type="text" name="p_name"> の内容は、POSTで送信した場合 $HTTP_POST_VARS["p_name"] に格納されています。 $p_name = $HTTP_POST_VARS["p_name"]; とされれば、 >$sql="select value1 from T_Table where name= '$p_name'"; も、正常に値が入ると思いますよ。

653
質問者

お礼

情報不足で失礼しました。 バージョンは4.2.3です。 >PHP4から、フォームのデータをそのまま変数として使用できなくなりました そうでしたか。 さっきPHPをバージョンアップしました。 最初にインストールしていたバージョンは4.1.2だったと思います。 でもフォームの変数をそのまま使用してましたけど 問題ありませんでした。 とりあえず上記のように記述してみたいと思います。 ありがとうございました。

関連するQ&A