@Ablovka

Как получить данные из обработчика?

Всё делал в одном файле, но не нравится то, что при обновлении просит повторно отправить форму.
Так вот, если обработчик засунуть в отдельный файл, как сделать, что бы он вернул сообщение, которое можно вставить, например, под форму?

PHP обработчик:
if(isset($_POST["login"])){
	$login = $_POST["login"];
	$pass = $_POST["password"];
	$db->Query("SELECT id, password FROM users WHERE user_name = '$login'");
	$user_data = $db->FetchArray();
	if ($pass == $user_data["password"]){
		echo 'ВЕРНО';
	$_SESSION["user_id"] = $user_data["id"];
	$_SESSION["user_name"] = $login;
	} else echo 'НЕВЕРНО';
}


HTML:
<form id="enter" action="" method="POST" style="margin:0;padding:0">
<label> Ваш логин <span class="req">*</span> <input type="text" name="login" value="" placeholder="Логин" maxlength="30"> </label> 
<label> Ваш Пароль <span class="req">*</span> <input type="password" name="password" value="" placeholder="********" maxlength="30"> </label>
<button class="btn">Войти</button>
</form>
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 3
@dev400
if ( $pass === $user_data["password"] ) {
    $array["msg"] = "Верно";
}
return $array;

И по аналогии
Ответ написан
Комментировать
serjikz
@serjikz
web-developer
Посмотреть в сторону ajax или хотя бы $.post
Ответ написан
Комментировать
@trefferr
Под формой ставите div с id=info и вешаете обработчик на кнопку

var enter = document.getElementById('btnEnter');
enter.onclick = function()
{
    var url = 'enter.php';
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function()
    {
        if(xhr.readyState != 4) return;
        var info = document.getElementById('info');
        info.innerHTML = xhr.response;
    };

    xhr.open('POST', url, true);
    xhr.send(null);
    //если будет перезагружаться страница раскомментировать
    //e.preventDefault();
    return false;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
01 мая 2024, в 22:47
30000 руб./за проект
01 мая 2024, в 22:26
10000 руб./за проект