Anda menggunakan $_SESSION['name']
dalam satu skrip dan $_SESSION['username']
di tempat lain.
Saya akan membayangkan jika Anda mengubah username
untuk name
atau sebaliknya kesalahan akan hilang.
Saya tidak yakin apa kesalahan dengan kata sandi, firasat saya adalah Anda melihatnya karena sesi baru saja dimulai dan array $_SESSION kosong, coba buang beberapa if(isset($_SESSION[ '...'])) sekitar.
Di admin_login Anda harus memeriksa apakah tombol login telah diklik dan Anda tidak hanya memuat formulir yaitu
//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">
....
Beberapa hal lain yang perlu diperhatikan:
- Anda memiliki dua
<html>
tag di formulir login - Atribut aksi dari formulir login memiliki spasi sebelum nama skrip
- Jika Anda menggunakan LIMIT 1 dalam SQL Anda, Anda tidak perlu membungkus
mysql_fetch_array
dalamwhile()