-5
Notice: Undefined variable: admin_username in D:\xampp\htdocs\site\lib\configuration.php on line 63

Notice: Undefined variable: signin_username in D:\xampp\htdocs\site\lib\configuration.php on line 76

このエラーを取り除くことはできません。数行前に定義されているのに、なぜ定義されていないのかわかりません。私は本当にここで立ち往生しています。どんなアイデアでも大歓迎です。

if(isset($_SESSION['admin_username'])){ $admin_username = $_SESSION ['admin_username']; }
if(isset($_SESSION['admin_password'])){ $admin_password = $_SESSION['admin_password']; }
if(isset($_SESSION['admin_token'])){ $admin_token = $_SESSION['admin_token']; }
if($admin_username && $admin_password && $admin_token == session_id())
4

1 に答える 1

1

エラーはここにあります:

if($admin_username && $admin_password && $admin_token == session_id())

これは63行目である可能性が非常に高いようです。問題は、が設定されている場合にのみ定義していることです。$admin_username$_SESSION['admin_username']

コード例では示していませんが、同じことが当てはまると思います$signin_username

解決策#1-issetを使用する

あなたの問題には多くの解決策があります。最初の、そしておそらく最も簡単なのは、値をチェックする前に変数が設定されていることをチェックすることです。

if (isset($admin_username, $admin_password, $admin_token) && session_id() == $admin_token)

解決策#2-デフォルトを定義する

$_SESSION対応する変数が存在するかどうかを確認する前に変数のデフォルト値がある場合、エラーは発生しません。

$admin_username = $admin_password = $admin_token = FALSE;

if(isset($_SESSION['admin_username'])){ $admin_username = $_SESSION ['admin_username']; }
if(isset($_SESSION['admin_password'])){ $admin_password = $_SESSION['admin_password']; }
if(isset($_SESSION['admin_token'])){ $admin_token = $_SESSION['admin_token']; }

解決策#3-欠落している場合を定義する

関連する変数が存在するかどうかに関係なくこれらの変数が定義されている場合$_SESSION、これらのエラーは発生しません。

$admin_username = isset($_SESSION['admin_username']) ? $_SESSION['admin_username'] : FALSE;

$admin_password = isset($_SESSION['admin_password']) ? $_SESSION['admin_password'] : FALSE;

$admin_token = isset($_SESSION['admin_token']) ? $_SESSION['admin_token'] : FALSE;
于 2013-03-03T17:36:30.527 に答える