-1
4

5 に答える 5

0

通知は、そのインデックスに何も設定されていないことを示しています。Undefined Index

これを修正する1つの方法はisset()、比較を行う前、または変数から値を取得する前に、を使用して変数が設定されているかどうかを確認することです。

if (!isset($_SESSION['valid'])) { 
    session_destroy(); 
    die("<b>You must be logged into this application to use it</b>"); 
?> 

http://www.php.net/manual/en/function.isset.php

また、セッションフォルダが書き込み可能であることを確認することもできます(通常/tmp/

if (!is_writable(session_save_path())) {
    echo session_save_path().'" is not writable!'; 
}
于 2012-11-20T19:41:29.723 に答える
0

回答してくれたすべての人に感謝します。セッションストアに問題があることがわかりました。

正しいパスを確認しましたが、マシン上で物理的にそこに移動すると、ガベージ ファイルと不適切な文字が含まれるファイル名でいっぱいでした。同じ全体的なサーバー上の複数の仮想マシンで実行されているさまざまな Web サーバーがあり、さまざまな領域の他のいくつかにも問題がありました。

Web サイト全体を新しい VM に移動しましたが、現在は正常に動作しています。

しかし、isset() の値を学習したので、ログアウトした人だけでなく、最初からログインしていなかった人にもエラーを表示できるようになったので、その日は完全に無駄ではありませんでした。

あなたの助けと幸せな感謝祭に再び感謝します

于 2012-11-20T21:14:20.363 に答える
0

回答してくれたすべての人に感謝します。セッションストアに問題があることがわかりました。

そこにはたくさんのゴミファイルがありました。いくつかの仮想マシンに Web サーバーがあり、同じマシン上の他のいくつかに問題がありました。

Web サイト全体を新しい VM に移動しましたが、現在は正常に動作しています。

しかし、私isset() の値を学んだので、その日は完全に無駄ではありませんでした.

助けてくれてありがとう!幸せな感謝祭

于 2012-11-20T20:56:59.227 に答える