sql >> Databáze >  >> RDS >> Mysql

Nedefinovaný index:uživatelské jméno v C:\wamp\www\Website\storeadmin\admin_login.php..a totéž pro heslo

Používáte $_SESSION['name'] v jednom skriptu a $_SESSION['username'] v jiném.

Představoval bych si, že změníte username na name nebo naopak chyba zmizí.

Nejsem si jistý, jaká je chyba s heslem, mám pocit, že to vidíte, protože relace právě začala a pole $_SESSION je prázdné, zkuste jich vypustit několik if(isset($_SESSION[ '...'])) kolem.

V admin_login byste měli zkontrolovat, že bylo kliknuto na tlačítko přihlášení a že právě nenačítáte formulář, tj.

//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ěkteré další věci k poznámce:

  • Máte dva <html> tagy v přihlašovacím formuláři
  • Atribut akce přihlašovacího formuláře má před názvem skriptu mezeru
  • Pokud ve svém SQL používáte LIMIT 1, nemusíte zabalovat mysql_fetch_array v while()



  1. Jak spočítám sloupce tabulky

  2. MySql. Jak používat Self Join

  3. optimalizovat dotaz na počet mysql

  4. Pokud existuje způsob, jak mohu vnitřně připojit tabulku MS SQL k tabulce MySql v jednom dotazu pomocí MySql?