人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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()では中身がかわらないような、、、

●質問者: Paradise
●カテゴリ:ウェブ制作
✍キーワード:24 ABC Apache INDEX Linux
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ito-yu
●24ポイント

php.iniの

error_reporting = E_ALL

error_reporting = E_ALL ^ E_NOTICE

に変えてみましょう

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

◎質問者からの返答

ありがとうございます。

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

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

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


2 ● Asuca
●24ポイント

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

フォーム入力 【PHP講座】

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

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

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

GLOBAL_REGISTRYはonになってます?

http://various-colors.net/pukiwiki/pukiwiki.php?PHP%A4%C7%C6%FE%...

◎質問者からの返答

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

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


3 ● yoski
●24ポイント

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


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


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


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

$abc = @$_POST[abc];

でいいと思います。

◎質問者からの返答

ありがとうございます。

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ