Проблемы с логинизацией

214
12 декабря 2016, 10:09

Есть две формы:

 <form class="form-inline" id="reg-form" method="POST" action="javascript:void(null);" onsubmit="registration()" >
              <legend class="cursor-default noselect">Регистрация</legend>
              <div class="form-group">
                <label class="sr-only" for="exampleInputEmail3">Введите логин:</label>
                <input type="text" name="login" maxlength="15" class="form-control" id="exampleInputEmail3" placeholder="Логин">
              </div>
              <div class="form-group">
                <label class="sr-only" for="exampleInputPassword3">Пароль</label>
                <input type="password" name="password" maxlength="15" class="form-control" id="exampleInputPassword3" placeholder="Пароль">
              </div>
              <button type="submit" class="btn btn-default">Регистрация</button>
        </form>

и

        <form class="form-inline" id="login-form" method="POST" action="javascript:void(null);" onsubmit="sendlogin()">
              <legend class="cursor-default noselect">Вход</legend>
              <div class="form-group">
                <label class="sr-only" for="exampleInputEmail3">Логин:</label>
                <input type="text" name="login" class="form-control" maxlength="15" id="exampleInputEmail3" placeholder="Логин">
              </div>
              <div class="form-group">
                <label class="sr-only" for="exampleInputPassword3">Пароль</label>
                <input type="password" name="password" maxlength="15"  class="form-control" id="exampleInputPassword3" placeholder="Пароль">
              </div>
              <button type="submit" class="btn btn-default">Войти</button>
              <br>
              <p id = "reg-button">Регистрация</p>
        </form>

И два ajax запроса по ним:

function registration() {
      var reg   = $('#reg-form').serialize();
        $.ajax({
          type: 'POST',
          url: 'php/saveuser.php',
          data: reg,
          success: function(data) {
            alert('Регистрация прошла успешно');
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
     };
    function sendlogin() {
      var logn   = $('#login-form').serialize();
        $.ajax({
          type: 'POST',
          url: 'php/testreg.php',
          data: logn,
          success: function(data) {
            $("#teststring").load("php/testreg.php");
           },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
     };

Проблема в том, что первая форма и скрипт работают. Вторая, как я понял, отправляет пустые значения. Кто знает, в чём может быть проблема?

<?php
if (isset($_POST['login'])) { $login = $_POST['login'];
if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password'];
if ($password =='') { unset($password);} }
if (empty($login) or empty($password)) 
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
?>

Этим оба запроса обрабатываются.

Answer 1

Вы написали, что они обрабатываются один php скриптом, но url у вас заданы разные, возможно, в этом проблема?

На всякий случай, формируется всё правильно: jsfiddle

Answer 2

Помогли мне разгадать эту загадку. Форма правильно всё отправляла в запрос, который я, в поиске ошибок, сократил до простой выдачи результатов через echo.

Собственно логика такая, что ajax запрос отправлял данные формы в php скрипт. Скрипт где-то себе выводил результат, потом по-новой, уже с пустыми значениями, грузился на страницу. Проблема была с:

$("#teststring").load("php/testreg.php");

Надо было писать:

 $("#teststring").html("php/testreg.php");
READ ALSO
Подсскажите что не так делаю!

Подсскажите что не так делаю!

Есть страница indexhtml

225
async: false ajax, зависает хром

async: false ajax, зависает хром

Помогите обернуть ajax запрос, чтобы он выполнялся последовательно async: false подвисает браузер, пробовал обернуть в функцию, но вылетают ошибки

254
Как выполнить действие при выбранном select&#39;e?

Как выполнить действие при выбранном select'e?

Всем приветЕсть список через select

331
Как правильно закрепить header?

Как правильно закрепить header?

Работал вот в таком направлении:

255