Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Niezdefiniowany indeks:nazwa użytkownika w C:\wamp\www\Website\storeadmin\admin_login.php..i to samo dla hasła

Używasz $_SESSION['name'] w jednym skrypcie i $_SESSION['username'] w innym.

Wyobrażam sobie, jeśli zmienisz username do name lub odwrotnie błąd zniknie.

Nie jestem pewien, jaki jest błąd z hasłem, moje przeczucie jest takie, że widzisz go, ponieważ sesja dopiero się rozpoczęła, a tablica $_SESSION jest pusta, spróbuj wyrzucić kilka if(isset($_SESSION[ '...'])) wokół.

W admin_login powinieneś sprawdzić, czy przycisk logowania został kliknięty i czy nie tylko ładujesz formularz, 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">
....

Kilka innych rzeczy do zapamiętania:

  • Masz dwa <html> tagi w formularzu logowania
  • Atrybut akcji formularza logowania ma spację przed nazwą skryptu
  • Jeśli używasz LIMIT 1 w swoim SQL, nie musisz zawijać mysql_fetch_array w while()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO::query a PDOStatement::execute (PHP i MySQL)

  2. Wybierz najczęściej używaną wartość z pola w MySQL

  3. Dodawanie czasu w PHP

  4. Jak zmienić nazwy dwóch tabel w jednej atomowej operacji w MySQL?

  5. Jak zautomatyzować migrację z samodzielnego MySQL do klastra Galera za pomocą Ansible