我注意到当 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.";
        }