#php
#php
Вопрос:
Я пытаюсь создать систему входа в систему. Всякий раз, когда кто-то вводит неверные данные, должно быть отправлено сообщение, но его нет, страница перенаправляет меня на мой index.php досье. Я знаю, что у меня есть header();
функция, но ее не следует вызывать до тех пор, пока не завершится оператор if .
session_start();
include 'dbh.php';
$uid = $_POST['uid'];
$pwd = $_POST['pwd'];
$sql = "SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd'";
$result = mysqli_query($conn, $sql);
if (!$row = mysqli_fetch_assoc($result)) {
echo "Your username or password is incorrect";
} else {
$_SESSION['id'] = $row['id'];
}
header("Location: ../index.php");
Комментарии:
1. Когда браузер получает перенаправление, он не отображает страницу первой.
Ответ №1:
На самом деле это работает, но после этого он перенаправляет вас на домашнюю страницу, используя вашу функцию заголовка. Добавьте header("Location: ../index.php");
в свое условие else, и вы получите желаемый результат.
Комментарии:
1. Я думаю, он действительно хочет, чтобы он отображал сообщение, а затем перенаправлял в любом случае.
2. Тогда ему нужно использовать что-то вроде settimeout javascript или функции сна php.
3. Это почти работает так, как я хочу. Теперь, когда он повторяет, страница очищается и просто говорит: «ваше имя пользователя или пароль неверны»