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.
<?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;
?>