sql >> Base de Datos >  >> RDS >> Mysql

Índice indefinido:nombre de usuario en C:\wamp\www\Website\storeadmin\admin_login.php..y lo mismo para la contraseña

Estás usando $_SESSION['name'] en un script y $_SESSION['username'] en otro.

Me imagino si cambias username a name o viceversa, el error desaparecerá.

No estoy seguro de cuál es el error con la contraseña, mi intuición es que lo estás viendo porque la sesión acaba de comenzar y la matriz $_SESSION está vacía, intenta arrojar algunos if(isset($_SESSION[ '...'])) alrededor.

En admin_login, debe verificar que se haya hecho clic en el botón de inicio de sesión y que no solo esté cargando el formulario, es decir,

//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">
....

Algunas otras cosas a tener en cuenta:

  • Tienes dos <html> etiquetas en el formulario de inicio de sesión
  • El atributo de acción del formulario de inicio de sesión tiene un espacio antes del nombre del script
  • Si usa LIMIT 1 en su SQL, no necesita envolver el mysql_fetch_array en un while()