重複の可能性:
PHP: 「通知: 未定義の変数」および「通知: 未定義のインデックス」</a>
参照 - PHP でこのエラーはどういう意味ですか?
注意: 未定義のインデックス: 6 行目の C:\xampp\htdocs\CMS\includes\login.php の ac
注意: 未定義のインデックス: C:\xampp\htdocs\CMS\includes\login.php の 13 行目にログイン
以下のコードで上記の通知を受け取りました。インデックスを定義するにはどうすればよいですか? ISSET を使用する方法があることは理解していますが、ログに記録された $_SESSION と USERS を使用してそれを行う方法がわかりません。複数の値があるためです。通知/エラーを抑制するだけでなく、上記のエラーを正しい方法で解決するにはどうすればよいですか?
<?php
session_start(); // initialize session
include($_SERVER['DOCUMENT_ROOT'] .
'/CMS/CMSController.php');
if ($_POST["ac"]=="log") { /// do after login form is submitted
if ($USERS[$_POST["username"]]==$_POST["password"]) { /// check if submitted username and password exist in $USERS array
$_SESSION["logged"]=$_POST["username"];
} else {
echo 'Incorrect username/password. Please, try again.';
};
};
if (array_key_exists($_SESSION["logged"],$USERS)) { //// check if user is logged or not
echo "You are logged in.";
header('Location: /CMS/index.php');
} else { //// if not logged show login form
echo '<form action="login.php" method="post"><input type="hidden" name="ac" value="log"> ';
echo 'Username: <input type="text" name="username" />';
echo 'Password: <input type="password" name="password" />';
echo '<input type="submit" value="Login" />';
echo '</form>';
};
?>