Sie verwenden $_SESSION['name']
in einem Skript und $_SESSION['username']
in einem anderen.
Ich würde mir vorstellen, wenn Sie username
ändern an name
oder umgekehrt verschwindet der Fehler.
Ich bin mir nicht sicher, was der Fehler mit dem Passwort ist, mein Bauchgefühl ist, dass Sie es sehen, weil die Sitzung gerade erst begonnen hat und das $_SESSION-Array leer ist, versuchen Sie, ein paar if(isset($_SESSION[ '...'])) herum.
Im admin_login sollten Sie überprüfen, ob der Login-Button geklickt wurde und Sie nicht nur das Formular laden, d.h.
//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">
....
Einige andere zu beachtende Dinge:
- Du hast zwei
<html>
-Tags im Anmeldeformular - Das Aktionsattribut des Anmeldeformulars hat ein Leerzeichen vor dem Skriptnamen
- Wenn Sie LIMIT 1 in Ihrem SQL verwenden, müssen Sie das
mysql_fetch_array
nicht umschließen in einemwhile()