• ベストアンサー

エラー対処法

PHPで下記の記述をした時にエラーが表示されます。 $_SESSION['keisaiarea'] = $_POST['keisaiarea']; このエラーの意味が判らないので教えて頂けないでしょうか? エラーの出力レベルで非表示にしても構わない程度のものでしょうか? 宜しくお願い致します。 [エラー表示] Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

noname#227352
noname#227352
  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

PHP4.2.3まではグローバルスコープでセッション変数を初期化可能になっているバグが有りました。そこで、最近のバージョン(4.30以降?)では該当するコードを見つけると、旧バージョンとは動作がことなるため 期待する動作と異なる可能性があり、このようなウォーニングを表示します。 >> エラーの出力レベルで非表示にしても構わない程度のものでしょうか?  表示をさせたくないのなら、質問内のエラー表示に明記されているように php.iniで setting session.bug_compat_42 =0 session.bug_compat_warn =0 と設定しておくべきです。 error_reoptiong を使って表示を抑制するのは他の重要な警告まで表示しなくなるので安易に使うべきでは有りません。 関連する部分が表記の行だけなら、表示を抑制するだけで動作自体に問題無く組むことも可能ですが、他に$keisaiareaという変数を使用している場合などに影響がありますので、質問記載された内容だけではスクリプト自体が正しく動作するかどうかはこれだけでは判断できません。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

register_globalsの設定の問題のようですね error_reoptiong()でエラーレベルを下げるか、 きちんとデータチェックや変数の初期化をしてください http://www.php.net/manual/ja/function.error-reporting.php

noname#227352
質問者

補足

回答有り難うございます。 とりあえず下記の設定で非表示にしています。 error_reporting(16); エラー自体は、深刻なものではないのでしょうか?

関連するQ&A

  • php.iniの設定の仕方

    php.iniの以下のディレクティブをOffにしたいのですが、レンタルサーバ環境ではどのように設定すればよいのでしょうか? ●session.bug_compat_42 ●session.bug_compat_warn ヘテムルというレンタルサーバーを借りています。 サーバーの管理ページでは設定出来ないようです。 ちなみに、目的は以下のエラー文表示を回避する為なので、このエラーの回避についてご存知の方いらっしゃいましたら、そちらの方が嬉しいです。 -----------------エラー文---------------------------------- Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0 ------------------------------------------------------------ 恐らく、PHP4.2.3以前のバージョンで起こるバグで、それと思われるバグについて説明しているページのURLです。 →http://d.hatena.ne.jp/simpleeye/20060904 大変困っておりますので、どうか宜しくお願いしますm(_ _)m

    • ベストアンサー
    • PHP
  • セッションが変数が取得できません

    こんにちは。初心者で大変申し訳ないのですが、2日間悩みましたがどうしても解決できないため質問させて頂きました。どうかご教授下さい。 PHPのセッション機能の利用をしようと以下のような環境でテストスクリプトを実行したのですが、うまくいきません。 PHPバージョン4.3.10 register_globals On session.auto_start Off session.bug_compat_42 On session.bug_compat_warn On session.cache_expire 180 session.cache_limiter nocache session.cookie_domain no value session.cookie_lifetime 0 session.cookie_path / session.cookie_secure Off session.entropy_file no value no session.entropy_length 0 session.gc_divisor 100 session.gc_maxlifetime 1440 session.gc_probability 1 session.name PHPSESSID session.referer_check no value session.save_handler files session.save_path /tmp session.serialize_handler php session.use_cookies Off session.use_only_cookies Off session.use_trans_sid On SESSION登録側スクリプト <?php session_start(); $_SESSION['tarou'] = 50; ?> <a href="test.php">test</a> 結果表示側スクリプト <?php session_start(); echo($_SESSION['tarou']); ?> session.use_trans_sid Onで透過的にURIにセッションIDを埋め込むタイプで、 セッションファイル自体は作られているのですが セッション変数は登録されておらず、空のセッションファイルとなってしまっています。 色々と調べてみたのですがどうしても解決できません。 大変お手数ですがどうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • session(PHP)が表示されない。

    sessionを理解するために簡単な例文を入力して sessionを呼び出そうとしました。 しかしできません。文法上は本のCDを丸写しなので 問題ないと思います。 設定(php.ini)で何か確認する場所があればお願いします。 Windows XP Apache 1.3.27 PHP 4.3.1 session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_dividend 100 100 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler 0 0 session.save_path /tmp /tmp session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid On On

    • ベストアンサー
    • PHP
  • セッションの変数の受渡しについて

    よろしくお願いします。 セッションを利用して変数受渡しを行おうと思い、初めての試み なので簡単なものを作ってやってみたのですが、変数に値をセットしたtest.phpでは値が表示されますが、リンク先のtest2.phpでは表示されません。 以下のソースで試しています。 -------------------------------------------------- test.php <?php session_start(); session_register("aa"); $_SESSION['aa'] = 1234; print $_SESSION['aa']; print "<p>"; print "<a href='test2.php'>next</a>";←ここの画面では表示されます。 ?> test2.php <?php session_start(); print $_SESSION['aa'];←表示されません ?> ---------------------------------------------- 想定では画面に”1234”と出ると思っていたんですが・・。 他質問をみて真似て色々試したのですが、やはり表示できませんでした。 環境は以下です apache2 php ver4.4.4 session Session Support enabled Registered save handlers files user Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 100 100 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path c:\windows\Temp c:\windows\Temp session.serialize_handler php php session.use_cookies Off Off session.use_only_cookies On On session.use_trans_sid On On 環境の問題でしょうか?各ブラウザで試したのですが、ダメでした。 初歩的質問で申し訳ありませんが、ご教示よろしくお願いします。

    • ベストアンサー
    • PHP
  • 会員管理システムを作っているのですが、エラーが出て困っています。

    phpとsmartyで会員管理システムを構築しているのですが、以下のようなエラーが出て困っています。 エラー文 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\Login.class.php:1) in C:\xampp\htdocs\login.php on line 5 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Login.class.php:1) in C:\xampp\htdocs\login.php on line 5 Warning: Smarty error: unable to read resource: "login.tpl" in C:\xampp\htdocs\Smarty.class.php on line 1092 このエラー文は何と言っているのですか? また、解決方法が分かる方、ご回答お願いします。

    • 締切済み
    • PHP
  • syntax error, unexpected '}' というエラーの対処法

    PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33 というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか? ・game.php <html> <head> <title>数当てゲーム</title> </head> <body> <h1 style="background:#cccccc">数当てゲーム</h1> <form method="POST" action="game.php"> 1~100までの数を入力してください <input type="text" name="answer" size="5" maxlength="3" /> <input type="sbumit" value=回答" /> </form> <hr /> <?php session_start(); if(is_null($_SESSION['answer'])){ mt_stand(microtime()*1000000); $_SESSION['answer']=mt_rand(1,100); $_SESSION['game_cnt']=0; } if($_POST['answer']!=""){ $_SESSION['game_cnt']++; if($_session['answer']==$_POST['answer']){ print("おめでとうございます". $_SESSION['game_cnt']."回で正解しました!"); session_destroy(); }else{ if($_SESSION['answer']>$_POST['answer']){ print("もう少し大きいです。"); }else print("もう少し小さいです。"); } } } ?> </body> </html> それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

    • ベストアンサー
    • PHP
  • お願いします。

    CakePHP1.2で開発しております。 ユーザ登録をする処理でローカルではうまくいっていたんですが、本サーバで動作の確認をすると、DBに登録する際に次のようなWarningが出てしまい、登録ができません。 $this->User->save()の箇所で弾かれてしまいます。 Warning (2): Unknown: open(/var/lib/php/session/sess_in2e3u6bfrvq8c8orrkf82n516, O_RDWR) failed: Permission denied (13) [Unknown, line ??] Warning (2): Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) [Unknown, line ??] これはファイルのパーミッションが問題なのでしょうか。 時間がなくてテンパってしまってます。 宜しくお願いします。

    • 締切済み
    • PHP
  • フリーソフトの(Gランキンガ3)について教えてください

    2007年のフりー配布ソフトで”Gランキンガ3”をアップしましたが上段に、 Warning: session_start() [function.session-start]: open(/tmp/php/sess_860e3c575b33e1f92db9955c4f9f7be6, O_RDWR) failed: そのようなファイルやディレクトリはありません (2) in /home/0web_cjb_net/zw0013882/public_html/ranking/grank.php on line 132 下段に、 Warning: Unknown(): open(/tmp/php/sess_860e3c575b33e1f92db9955c4f9f7be6, O_RDWR) failed: そのようなファイルやディレクトリはありません (2) in Unknown on line 0 Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp/php) in Unknown on line 0 が表示されてしまいます。 デザインが大変気に入ったのですが、作成者の方も現在はサイトの更新をされておられないようで困っています。 どなたかお力になっていただけないでしょうか? ちなみに132行目は、session_start() :です。 作成中のサイトのURLは http://n1414.0web.cjb.net/ranking/grank.php になります。 どうかよろしくお願い致します。

    • 締切済み
    • PHP
  • PHPエラー

    こんにちは。 初めてPHPでプログラミングをしている者です。 PHPのエラー解決方法で悩んでいます。 エラーの内容は Warning: session_start(): Cannot send session cookie - headers already sent by (output started at ~~) in ~~ Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at ~~)in ~~~ です。 お時間のある方回答お待ちしています。

    • ベストアンサー
    • PHP
  • URLの日本語ディレクト名のエラーについて

    日本語URLについて教えてください。 URLのディレクトリ名を日本語にしてみたところ、問題なく表示されたのですが、ローカルで同じことをやってみると以下のエラーが出ます。 Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/日本語/index.php' (include_path='.;C:\xampp\php\PEAR;C:\xampp\php\includes') in Unknown on line 0 これって何でなんですかね? 因みにWEBサーバーはApacheで、ローカルはWindows7(64bit)です。 OSの違いが文字コードか何かに関係してるんですかね?