Задать вопрос
@Dmitry2307

Почему скрипт JS, не читает данные из обработчика?

Добрый день. При заполнении формы входа и передаче данных в обработчик, JS - на видит ответ от обработчика.
Куки и сессия не открываются!
Помогите разобраться в чем причина

HTML
<h3>Вход</h3>
					<form method="post" id="form_vhod" >
						
						<div class="form__reg">
							<ul class="form__reg_ul">
								<p id="massege_vhod">Неверный Логин и(или) Пароль.</p>
								<li>
									<label class="form__reg_label">Телефон / e-mail:</label>
									<input type="text" name="vhod_login" id="vhod_login">
								</li>
								<li>
									<label class="form__reg_label">Пароль:
										<span id="button_pass">
											<i class="fa fa-eye" id="dell_eye" aria-hidden="true"></i>
											<i class="fa fa-eye-slash" aria-hidden="true"></i>
										</span>
									</label>
									<input type="password" name="vhod_pass" id="vhod_pass">
								</li>

							</ul>
						</div>

						<input type="checkbox" checked name="rememberme" id="rememberme"><label for="rememberme">Запомнить меня</label>
						<div class="form__reg_button">
							<button type="submit" name="vhod_submit" id="vhod_submit">Вход <i class="fa fa-chevron-right" aria-hidden="true"></i></button>
							<a id="remindpass" href="#">Забыли пароль?</a>
						</div>
					</form>


JS
// форма входа
$("#vhod_submit").click(function(){

    var vhod_login = $("#vhod_login").val();
    var vhod_pass = $("#vhod_pass").val();

    if (vhod_login.length < 9 || vhod_login.length > 20) {
        $("#vhod_login").css("borderColor", "#fdb6b6"); send_login = 'no';
    } else { $("#vhod_login").css("borderColor", "#dbdbdb"); send_login = 'yes'; }

    if (vhod_pass.length < 4 || vhod_pass.length > 32) {
        $("#vhod_pass").css("borderColor", "#fdb6b6"); send_pass = 'no';
    } else { $("#vhod_pass").css("borderColor", "#dbdbdb"); send_pass = 'yes'; }

    if ($("#rememberme").prop('checked')) {
        rememberme = 'yes';
    } else { rememberme = 'no'; }

    if (send_login == 'yes' && send_pass == 'yes') {
        $.ajax({
            type: "POST",
            url: "/reg/vhod.php", // функция обработчика
            data: "vhod_login="+vhod_login+"&vhod_pass="+vhod_pass+"&rememberme="+rememberme,  // какие данные отправляются в обработчик
            dataType: "html",
            cache: false,
            success: function(data) {
                if (data == 'yes_vhod') {
                    location.reload();
                    console.log(data);
                } else {
                    $("#massege_vhod").style.display == "block";
                    $("#massege_vhod").slideDown(400);
                }
            }
        });
    }
});


php
if ($_SERVER["REQUEST_METHOD"] == "POST") {

	include("../core/function.php"); // подключение к БД и функции очистки

	$login = strtolower(clearString($_POST["vhod_login"]));
	$login = checkLog($login);
	$pass = strtolower(clearString($_POST["vhod_pass"]));
	$pass = strrev(md5($pass));
	$pass = "9nmrv1q".$pass."2ys5s6z";
	$rememberme = ($_POST["rememberme"]);

	$sql = "SELECT * FROM `user` WHERE (`phone` = '$login' OR `email` = '$login') AND `pass` = '$pass'";
	$result = mysqli_query($conn, $sql);
	if (mysqli_num_rows($result) > 0) {

		$sqln = "SELECT name FROM `user` WHERE (`phone` = '$login' OR `email` = '$login') AND `pass` = '$pass'";
		$name = mysqli_query($conn, $sqln);
		$sqlp = "SELECT phone FROM `user` WHERE (`phone` = '$login' OR `email` = '$login') AND `pass` = '$pass'";
		$phone = mysqli_query($conn, $sqlp);
		$sqle = "SELECT email FROM `user` WHERE (`phone` = '$login' OR `email` = '$login') AND `pass` = '$pass'";
		$email = mysqli_query($conn, $sqle);
		if ($rememberme == "yes") {
			setcookie('name', $name, time()+3600*24*30, "/"); // куки живет месяц
			setcookie('login', $phone.'+'.$email.'+'.$pass, time()+3600*24*30, "/");
		}

		$row = mysqli_fetch_array($result);
		session_start();
		$_SESSION['vhod'] = 'yes_vhod';
		$_SESSION['vhod_phone'] = $row["phone"];
		$_SESSION['vhod_email'] = $row["email"];
		$_SESSION['vhod_pass'] = $row["pass"];
		$_SESSION['vhod_surname'] = $row["surname"];
		$_SESSION['vhod_name'] = $row["name"];
		$_SESSION['vhod_patronymic'] = $row["patronymic"];
		$_SESSION['vhod_adres'] = $row["adres"];
		echo 'yes_vhod';
	} else {
		echo 'no_vhod';
	}
	mysqli_close($conn);
}
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой 13 комментариев
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
Вот так попробуйте
<button type="button" name="vhod_submit" id="vhod_submit">Вход <i class="fa fa-chevron-right" aria-hidden="true"></i></button>

Или type="reset" если чистить нужно, есть мнение что у вас форма отправляется и перегружает страницу, до того как выполнится запрос
Еще можете поставить превэнтДефолт, ТОЛЬКО НА САБМИТ, а не клик
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
21 дек. 2024, в 06:04
15000 руб./за проект
21 дек. 2024, в 01:12
1000 руб./за проект
20 дек. 2024, в 22:55
1500 руб./за проект