2011-06-28 8 views
0

私は開発用コンピュータとプロダクションサーバを持っています。デベロッパーコンピュータでは、すべてがうまくいきます。私はサイトを本番サーバーにコピーして、セッション変数が機能していません。PHPセッション変数。あるコンピュータ上で動作し、別のコンピュータ上で動作しない

私は、簡単なログインスクリプトを使用し、中の人がログインした後にセッションのユーザー名を登録しています。

session_register("myusername"); 

私は、右のその下にテストの目的でキャッチに入れます。

if(isset($_SESSION['myusername'])) { 
       echo "set"; 
      } 
      else { 
       echo "not set"; 
      } 

デベロッパーコンピュータでは、セットをプリントアウトします。プロダクションサーバー上ではまだ印刷されません。興味深い部分は、全く同じコードがサイトの別の部分で完璧に動作することです。

私は在庫管理システムに取り組んでいます。登録済みのログイン名を使用して変更ログを生成しているので、誰がシステムに何をしたのかを見ることができます。

私が言ったように、この同じコードは、システムの別の部分でうまく機能します(なぜなら、同じADデータベースに別々のログインであるためです)。

A.は、一つのサイトの一部ではなく、他に作品:

は、私はそれが同じコードへの原因となる欠けている明白な何かがあります。 B.両方の場所でテストコンピュータで動作し、元のログインで開発サイトで動作します。それは廃止されましたよう

おかげ

+2

はあなた 'でsession_start()'編がありますか? –

+0

セッションを開始しますか? –

答えて

4

は、session_registerを使用しないでください。

はこれを試してみてください:

session_start(); 
$_SESSION['myusername'] = 'something'; 

if(isset($_SESSION['myusername'])) { 
    echo "set"; 
} 
else { 
    echo "not set"; 
} 
+0

私はそれを試みたが、うまくいかなかったと誓う...今それは:)ありがとう。私はsession_register()への他の参照も変更します。 – navalhawkeye

+0

@ user808680 ---あなたが歓迎^ _ ^、あなたができるときには "受け入れられた答え"を選択することを忘れないでください – Neal

関連する問題