Bạn đang sử dụng $_SESSION['name']
trong một tập lệnh và $_SESSION['username']
trong một cái khác.
Tôi sẽ tưởng tượng nếu bạn thay đổi username
thành name
hoặc ngược lại lỗi sẽ hết.
Tôi không chắc lỗi với mật khẩu là gì, cảm giác ruột của tôi là bạn đang nhìn thấy nó bởi vì phiên chỉ mới bắt đầu và mảng $ _SESSION trống, hãy thử chia nhỏ một vài if (Isset ($ _ SESSION [ '...'])) xung quanh.
Trong admin_login, bạn nên kiểm tra xem nút đăng nhập đã được nhấp chưa và bạn không chỉ tải biểu mẫu, tức là
//admin_login.php
<?php
session_start();
if(isset($_SESSION["member"])){
header("location:index.php");
exit();
}
if(@$_POST['button'] == 'LogIn'){ // <- Check the user has clicked the button
$manager = preg_replace('#[A-Za-z0-9]#i',"",$_SESSION["username"]);
$password = preg_replace('#[A-Za-z0-9]#i',"",$_SESSION["password"]);
include "../storescripts/connect_to_mysql.php";
$sql = mysql_query("SELECT * FROM admin WHERE username ='$manager' AND password ='$password'LIMIT 1");
$exist_count = mysql_num_rows($sql);
if($exist_count == 1){
while(mysql_fetch_array($sql)){
$id = $row["id"];
}
$_SESSION["id"]= $id;
$_SESSION["name"]= $manager;
$_SESSION["password"]= $password;
header("location:index.php");
exit();
}else{
echo 'This information is incorrect,try again <a href = "index.php">Click Here</a>';
exit();
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
....
Một số điều khác cần lưu ý:
- Bạn có hai
<html>
thẻ trong biểu mẫu đăng nhập - Thuộc tính action của biểu mẫu đăng nhập có khoảng trắng trước tên tập lệnh
- Nếu bạn sử dụng LIMIT 1 trong SQL, bạn không cần phải bọc
mysql_fetch_array
trong mộtwhile()