Home > Software engineering >  Undefined Variable php login system / unity
Undefined Variable php login system / unity

Time:05-03

I 'm getting this error: Warning: Undefined variable $loginUser in C:\xampp\htdocs\BNP\Login.php on line 21 Username does not exist. I tried other fixed but it's returning the same error message. Can anyone please help?

<?php

//variables for connecting to DB
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "unityaccess";

//variables submitted by user
if(isset($_POST['loginUser'])){ $loginUser = $_POST['loginUser']; }
if(isset($_POST['loginPass'])){ $loginPass = $_POST['loginPass']; }

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT password FROM users WHERE username = '" . $loginUser . "'";


$result = $conn->query($sql);

if ($result->num_rows > 0){
  // output data of each row
  while($row = $result->fetch_assoc()) {
if($row["password"] == $loginPass){
    echo "Login Success, welcome.";
}
else {
    echo "Wrong Credentials";
}
  }
} else {
  echo "Username does not exists";
}

$conn = null;



?>

thankss

CodePudding user response:

Your $loginUser is not defined and also check your form name attribute have 'loginUser' and also use this updated code it will work i defined $loginUser in this.

enter image description here

<?php
    
    //variables for connecting to DB
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "unityaccess";

   $loginUser = $_POST['loginUser'];
    
    //variables submitted by user
    if(isset($_POST['loginUser'])){ $loginUser = $_POST['loginUser']; }
    if(isset($_POST['loginPass'])){ $loginPass = $_POST['loginPass']; }
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Check connection
    if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    }
    
    $sql = "SELECT password FROM users WHERE username = '" . $loginUser . "'";
    
    
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0){
      // output data of each row
      while($row = $result->fetch_assoc()) {
    if($row["password"] == $loginPass){
        echo "Login Success, welcome.";
    }
    else {
        echo "Wrong Credentials";
    }
      }
    } else {
      echo "Username does not exists";
    }
    
    $conn = null;
    
    
    
    ?>

CodePudding user response:

You didn't set $loginuser in else part,on line no. 10 > where you are checking if isset($_POST['loginUser']), set some thing in else part so you will not get error.

<?php

//variables for connecting to DB
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "unityaccess";

//variables submitted by user
if(isset($_POST['loginUser'])){ $loginUser = $_POST['loginUser']; } else { $loginUser =  "am RANDOM DATA that will give make sql query false";}
if(isset($_POST['loginPass'])){ $loginPass = $_POST['loginPass']; } else { $loginPass =  "am RANDOM DATA that will give make sql query false";}

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT password FROM users WHERE username = '" . $loginUser . "'";


$result = $conn->query($sql);

if ($result->num_rows > 0){
  // output data of each row
  while($row = $result->fetch_assoc()) {
if($row["password"] == $loginPass){
    echo "Login Success, welcome.";
}
else {
    echo "Wrong Credentials";
}
  }
} else {
  echo "Username does not exists";
}

$conn = null;



?>



  • Related