PHP の if ステートメントの 2 つの条件のうちの 1 つが真ではないことに気付きました。正しくないステートメントについて、未定義のインデックス通知が表示されます。私の場合の結果は、歪んだ Web ページです。たとえば、次のコード:
<?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 ステートメントの 1 つが true でない場合。真でないものは、未定義であることが通知されます。私の場合、セッション「ログイン」が定義されていないと表示されます。セッション「LoginAdmin」が使用されている場合。これらの未定義のインデックス通知を回避するために、何をすることをお勧めしますか?
EDIT ここは、入力された情報が正しいかどうかを確認する場所です。ログイン情報が正しい場合でも、常にログイン ページにリダイレクトされます。
$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.";
}