Приветствую! Пишу свой первый скрипт авторизации, стоит задача при вводе неверного пароля выводить предупреждение. Сейчас система работает так: (index.php - страница с формой для входа / auth.php - скрипт авторизации / db.php - подключение к БД) Index.php: PHP: <?php require_once "db.php"; ?> <form method="POST" action="/au/auth.php"> <input type="text" placeholder="Ваш номер" name="login"> <input type="text" placeholder="Ваш пароль" name="password"> <hr> <input type="submit" value="Отправить"> </form> Auth.php: PHP: <?php include('db.php'); $phone = $_POST['phone']; $password = $_POST['password']; $count = mysqli_query($db_connect, "SELECT * FROM `users` WHERE `phone` = '$phone' AND `password` = '$password'"); if(mysqli_num_rows($count) == 0){ echo 'Вы не зарегистрированы!'; header("Location: /test/index.php"); } else { echo 'Успешная авторизация!'; } Я добавил в auth.php перевод на страницу авторизации в случае ввода неверных данных: Код (Text): header("Location: /test/index.php"); . Хотелось бы сделать так, чтобы при ошибке перекидывало на первоначальную страницу и там уже выдавало ошибку путем вызова определенной функции с выводом текста, к примеру: PHP: <?php function passerror() {echo 'Ошибка авторизации!';} ?> Как это грамотно реализовать? Заранее спасибо за помощь!
PHP: echo 'Вы не зарегистрированы!'; header("Location: /test/index.php"); нельзя так делать будет ошибка, что заголовки уже отправлены. лучше сделай так, наверное: PHP: header("Location: /test/index.php"); exit('Вы не зарегистрированы!'); а что по поводу твоего вопроса, я использую сессии для вывода ошибок. а лучше и грамотней будет использовать JS как посоветовали выше.
@Glebiys, при редиректе добавляйте какой-то модификатор в адрес (error, ok, ?status=1 и т.п.), чтобы по нему выводить сообщение на странице формы.