我注意到当 php if 语句中的两个条件之一不正确时。对于不正确的语句,您会收到未定义的索引通知。在我的情况下,结果是一个扭曲的网页。例如,这段代码:
<?php
session_start();
if (!isset($_SESSION['loginAdmin']) && ($_SESSION['loginAdmin'] != '')) {
header ("Location: loginam.php");
} else {
include('head2.php');
}
if (!isset($_SESSION['login']) && ($_SESSION['login'] != '')) {
header ("Location: login.php");
} else {
include('head3.php');
}
?>
如果其中一个 if 语句不正确。不正确的会通知您它是未定义的。在我的情况下,它说没有定义会话“登录”。如果使用会话“LoginAdmin”。为了避免这些未定义的索引通知,您可以建议我做什么。
编辑 这是我检查输入信息是否正确的地方,对于那些询问的人。即使登录信息正确,它也会始终重定向到登录页面:
$uname = mysql_real_escape_string($_POST['ausername']);
$pword = mysql_real_escape_string($_POST['apassword']);
$idnam= mysql_real_escape_string($_POST['aydi']);
$SQL = "SELECT * FROM admin WHERE ID= '$idnam' AND admin = '$uname' AND admin_password = '$pword'";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
if ($result) {
if ($num_rows > 0) {
session_start();
$_SESSION['loginAdmin'] = "1";
header ("Location: ampage.php");
}
else {
session_start();
$_SESSION['loginAdmin'] = "";
header ("Location: loginam.php");
}
}
else {
$errorMessage = "Error logging on, please try again.";
}