@klenza

Как подсунуть echo к форме?

Собственно нужно чтобы echo отображалось не далеко от формы.
<?
require('includes/config_rules.php');
$login = $_POST['login'];
$password = $_POST['password'];
if($_POST['submit']){
if (!empty($login)) {
$sql = "SELECT user_id, password FROM users WHERE login='$login' LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
$row_num = mysql_num_rows($result);
$users = mysql_fetch_assoc($result);
if($row_num == 1) {
$password_hash = md5($password);
if($password_hash == $users['password']){
$_SESSION["Login"] = "YES";
$_SESSION["password"] = "YES";
header("Location: cabinet.php");

} else {

echo 'Пароль введен не верно';


}

}else{
echo 'Данный логин не зарегистрирован
';
}
}else{
echo 'Вставьте логин
';
}
}
?>
  • Вопрос задан
  • 2191 просмотр
Пригласить эксперта
Ответы на вопрос 4
@red_led
А при чём тут CSS?

<?php
require('includes/config_rules.php');
$login    = $_POST['login'];
$password = $_POST['password'];
if ($_POST['submit'])
{
    if (!empty($login))
    {
        $sql = "SELECT user_id, password FROM users WHERE login='$login' LIMIT 1";
        $result = mysql_query($sql) or die(mysql_error());
        $row_num = mysql_num_rows($result);
        $users   = mysql_fetch_assoc($result);
        if ($row_num == 1)
        {
            $password_hash = md5($password);
            if ($password_hash == $users['password'])
            {
                $_SESSION["Login"]    = "YES";
                $_SESSION["password"] = "YES";
                header("Location: cabinet.php");
                die;
            }
            else
            {
                $error = 'Пароль введен не верно';
            }

        }
        else
        {
            $error =  'Данный логин не зарегистрирован';
        }
    }
    else
    {
        $error = 'Вставьте логин';
    }
}
?>


И рядом с формой <?= $error ?>

Как то так. И вы забыли die после header'а
Ответ написан
Сохраните сообщение в переменную $message, в хтмл сделайте <?php echo $message; ?> после формы.

P.S. Страшно представить подобный код в продакшене.
Ответ написан
Здравствуйте.

Если вы хотите поместить результат обработки запроса на форму, тогда последовательность действий должна быть, например следующей
1. Сохранить результат текста в переменную $error; (Вместо echo 'Вставьте логин' - $error = 'Вставьте логин' )
2. При построении формы (можно после нее) в конце проверить, и отобразить если надо(и в таком виде как надо, близко к форме), блок с ошибкой которую вы ранее сохранили:
if(isset($error) && strlen($error) > 0) {
echo "<div class=\"form-message\">{$error}</div>";
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы