Du bruger $_SESSION['name']
i ét script og $_SESSION['username']
i en anden.
Jeg kunne forestille mig, hvis du ændrer username
til name
eller omvendt vil fejlen forsvinde.
Jeg er ikke sikker på, hvad fejlen med adgangskoden er, min mavefornemmelse er, at du ser det, fordi sessionen kun lige er startet og $_SESSION-arrayet er tomt, prøv at smide nogle få if(isset($_SESSION[ '...'])) omkring.
I admin_login skal du kontrollere, at der er klikket på login-knappen, og at du ikke kun indlæser formularen, 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">
....
Nogle andre ting at bemærke:
- Du har to
<html>
tags i login-formularen - Handlingsattributten for loginformularen har et mellemrum før scriptnavnet
- Hvis du bruger LIMIT 1 i din SQL, behøver du ikke at indpakke
mysql_fetch_array
i enwhile()