Linux+apache(1.3.27)+PHP(4.3.9)で作成していたソースで、

<?php
$abc = $_POST[abc] ;

とやって動作していたのですが、win2k+Apache(1.3.24)+php(4.3.9)で動作させると、

Notice:Undefine index:abc ...
Notice:Use of undefine constant abc - assumed ’abc’ in ...
となります。
対処としては、
if ( isset($_POST[’abc’])) {
$ABC = $_POST[’abc’];
}
だとエラーがなくなりました。なんで、win2kで未定義の変数がでて、Linuxではでないのでしょうか?
Php.iniのどこを? phpinfo()では中身がかわらないような、、、

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/24 14:10:32
  • 終了:--

回答(3件)

id:ito-yu No.1

ito-yu回答回数323ベストアンサー獲得回数142006/02/24 14:23:59

ポイント24pt

php.iniの

error_reporting = E_ALL

error_reporting = E_ALL ^ E_NOTICE

に変えてみましょう

(httpdのリスタートを忘れずに)

id:Paradise

ありがとうございます。

すいません。書き忘れてました。そこのコメントアウト済みです。でも、だめなんです。PHP5がだめかと、ダウングレード、アパッチだめかと2から1へダウングレード。

で、ついでに変数をしこしこやってみたものの、

Undefined variable: abc と出る始末!なんだろう?

2006/02/24 14:34:58
id:Asuca No.2

Asuca回答回数281ベストアンサー獲得回数42006/02/24 15:18:39

ポイント24pt

http://www.sakura-pc.jp/php/02020000.shtml

フォーム入力 【PHP講座】

Undefined variableは未定義の変数エラーです

POSTされた”abc”が空ってことですね

取得できていないのでは?

GLOBAL_REGISTRYはonになってます?

id:Paradise

ありがとうございます。linux 側はOffでWinもOffでした。とりあえず、php.iniを修正再起動!でもかわらず、、、

先の、Undefined variableは配列定義をせず直接していしたましたので、Global 宣言で解消というか、暗黙の宣言がなくなったような気がするが、配列でないのは for文でまわしてる$i,$jとか宣言してなくてもエラーがない、、、)

2006/02/24 15:31:16
id:yoski No.3

yoski回答回数13ベストアンサー獲得回数02006/02/24 15:52:56

ポイント24pt

外してたらごめんなさい。


ひょっとするとphpが見ているものと異なるphp.iniを編集しているのかも(windowsだとたまにやってしまいます)


phpinfo() で、phpが参照しているphp.iniを確認して、再度編集してみてはいかがでしょう。


ちなみに未定義了承の元でコード書くなら

 $abc = @$_POST[abc];

でいいと思います。

id:Paradise

ありがとうございます。

 webで確認してますのでよいのですが、、、、

しまいには、同じinclude分でひっぱってるのに、a.phpはエラーが出ないのに、b.phpではでるなんて はてな になってました。

で、$_POST[’abc’] でシングルコーテーションも省略はだめですね。

とりあえずは時間がないのでいったん終了します。ごてごて手で修正です。(泣)とういか、昔の資産が〜使えないとやだなー。

2006/02/24 16:09:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません