Du använder $_SESSION['name']
i ett skript och $_SESSION['username']
i en annan.
Jag kan tänka mig om du ändrar username
till name
eller vice versa kommer felet att försvinna.
Jag är inte säker på vad felet med lösenordet är, min magkänsla är att du ser det eftersom sessionen bara har startat och $_SESSION-arrayen är tom, försök slänga några if(isset($_SESSION[ '...'])) runt.
I admin_login bör du kontrollera att inloggningsknappen har klickats och att du inte bara laddar formuläret, dvs.
//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">
....
Några andra saker att notera:
- Du har två
<html>
taggar i inloggningsformuläret - Action-attributet för inloggningsformuläret har ett mellanslag före skriptnamnet
- Om du använder LIMIT 1 i din SQL behöver du inte radbryta
mysql_fetch_array
i enwhile()