0
4

6 に答える 6

2

いいえ、構文エラーではありません。存在しないキーにアクセスしようとしています。以前のサーバーで警告が無効になっているようです。

アクセスする前に、実際の変数が設定されているかどうかを確認してください(issetを使用)。

if(
    isset($_SESSION['id']) &&
    !isset($_COOKIE['logRemember']) &&
    isset($_SESSION['rememberMe'] &&
    !$_SESSION['rememberMe']
)
于 2012-10-25T16:29:45.223 に答える
0

変数で使用するisset()ので、$_COOKIE変数の存在をチェックするためにそれがどのように機能するかを知っている必要があります。これをに適用するだけ$_SESSION['id']で、エラーは停止します。

于 2012-10-25T16:29:47.047 に答える
0

最初の実行では、設定さ$_SESSION['id']$_SESSION['rememberMe']ません。それらが設定されているかどうかを確認する必要があります(Cookieで行ったように)

if(isset($_SESSION['id']) && !isset($_COOKIE['logRemember']) && !isset($_SESSION['rememberMe']))
于 2012-10-25T16:30:41.633 に答える
0

それが「機能した」理由は、おそらく Apache 2 サーバーがエラーを表示するように構成されていなかったためです。あなたの問題は、それ$_SESSION['id']が設定されていないことです。むしろ、それがあることを確認してください

isset($_SESSION['id'])

設定されていない場合、エラーは発生しません。

于 2012-10-25T16:30:56.280 に答える
0

セッション データが格納されているディレクトリが apache によって書き込み可能であることを確認します。を使用してパスを取得できますsession_save_path ();

于 2012-10-25T16:31:03.440 に答える
0

行を次のコードに置き換えます

session_start();

if(isset($_SESSION['id']) && !isset($_COOKIE['logRemember']) && !isset($_SESSION['rememberMe']))
于 2012-10-25T17:23:24.067 に答える