Я пытаюсь войти в систему. Если пароль и имя пользователя неверны, я хочу, чтобы всплывающее окно появилось, предупреждая пользователя об ошибке. Когда они закрывают предупреждение, он возвращается к index.php, который возвращается к экрану входа в систему.Сценарий всплывающего предупреждения в php-файле
Но когда это неверный пароль/имя пользователя, он возвращается к index.php без всплывающих сообщений. Настройки моего браузера не блокируют всплывающие окна. Могу я узнать, что я делаю неправильно.
<?php
if($login == true){
//Do login process
//this portion works as long as correct username and password
}
else{
echo '<script language="javascript">alert("Please enter valid username and password");</script>';
header("location:index.php");
}
?>
//login.php
<?php
$username = "exampleuser";
$password = "examplepass";
$host = "localhost";
$dbHandle = mysql_connect($host, $username, $password) or die("Could not connect to database");
$selected = mysql_select_db("database_name", $dbHandle);
$myUserName = $_POST['user'];
$myPassword = $_POST['pass'];
if(ctype_alnum($myUserName) && ctype_alnum($myPassword)){
$query1 = "SELECT * FROM users WHERE username='$myUserName'";
$result1 = mysql_query($query1);
$count1 = mysql_num_rows($result1);
if($count1 == 1){
$query2 = "SELECT password FROM users WHERE username='$myUserName'";
$result2 = mysql_query($query2);
$row = mysql_fetch_array($result2, MYSQL_ASSOC);
$pass = $row['password'];
if(password_verify($myPassword, $pass)){
$seconds = 120 + time();
setcookie(loggedIn, date("F js - g:i a"), $seconds);
header("location:mysite.php");
}
else{
echo '<script language="javascript">
alert("Please enter valid username and password");
window.location.href = "http://index.php";
</script>';
die();
}
}
else{
echo '<script language="javascript">
alert("Please enter valid username and password");
window.location.href = "http://index.php";
</script>';
die();
}
}
else{
echo '<script language="javascript">
alert("Please enter valid username and password");
window.location.href = "http://index.php";
</script>';
die();
}
?>
PHP не останавливается после выполнения 'echo'. Он продолжает сообщать браузеру перейти на 'index.php', потому что все это происходит на сервере, а не в браузере пользователя. –
@TillHelge Если я полностью удаляю header(), не работает. В итоге я вижу пустую страницу вместо возврата к index.php –