In my login form, if email or password is wrong I set header ('Location: login.php?Err=284613');
. Then using Javascript I capture it and give the error code to the page using if (window.location.search == "?Err=284613"){}
.
The issue is that I don't want the user to type login.php?Err=284613
and trigger the error code manually.
Can I generate random numbers with PHP and show different numbers each time in login.php?Err="random numbers"
. Of course, then I need to capture that random number with javascript in order to show the error on the page.
<?php
if (!isset($_POST['username'], $_POST['password']))
{
exit('Please fill both the username and password fields!');
}
if ($stmt = $con->prepare('SELECT id, Password FROM users WHERE Email = ?'))
{
$stmt->bind_param('s', $_POST['username']);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0)
{
$stmt->bind_result($id, $password);
$stmt->fetch();
if (password_verify($_POST['password'], $password))
{
session_regenerate_id();
$_SESSION['loggedin'] = true;
$_SESSION['name'] = $_POST['username'];
$_SESSION['id'] = $id;
header('Location: index.php');
}
else
{
header('Location: login.php?Err=284613');
}
}
else
{
header('Location: login.php?Err=284613');
}
$stmt->close();
}
}
?>
if(window.location.search == "?Err=284613")
{
setError(email, 'Wrong Password!');
}
source https://stackoverflow.com/questions/70550542/generating-a-random-number-and-send-to-the-header
Comments
Post a Comment