Как сохранить пользовательские данные после того, как плагин проверки jquery сделал? - PullRequest
0 голосов
/ 16 октября 2019

Я сделал проверку формы как на стороне клиента, так и на стороне сервера. Для клиентской части я использовал плагин проверки jquery. Я хочу проверить, существует ли имя пользователя на стороне клиента и сервера. Если я проверяю только на стороне сервера, все работает, но когда я добавляю удаленный метод, работает только проверка на стороне клиента, и я не могу запустить проверку на стороне сервера и сохранение, так как я могу запустить ее?

Iпробовал что-то с submithandler, но это даже не работает.

Это js

 $('#registerForm').validate({
    rules: {
      username : {
        required: true,
        minlength: 3,
        remote:{
              url:'signup.php',
              type:"POST",
        },
      },
      password: {
        required: true,
        customPassword: true
      },
      confirm_password:{
        required: true,
        equalTo: '#password'
      },
      email:{
        required:true,
        email:true
      },

      customcheck:{
        required:true
      }

    },
    messages : {
      username: {
        required: "Please enter a username",
        minlength: "Name should be at least 3 characters",
        remote:'Username is alredy exist'
      },

      password: {
        required: "Please enter a password"
      },
      confirm_password:{
        required: "Please enter a password",
        equalTo: "Please enter the same password as above"
      },
      email:{
        required:"Please enter an email address",
        email: "You should write a valid email"
      },
      customcheck:{
        required:"Please accept our policy"
      }
    },
    errorPlacement: function(){
        return false;
    },
    submitHandler: function(form) {
     console.log('ok');
     form.submit();
    }  
  });

Это php для первой клиентской стороны, а затем для серверной

if(isset($_POST['username'])){
    $username = $_POST['username'];
    $db = new Database(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);
    $conn = $db->getConnection();
    $sql = "SELECT * FROM user WHERE username = :username";

    $stmt = $conn->prepare($sql);

    $stmt->bindValue(':username', $username, PDO::PARAM_STR);

    $user = $stmt->execute();

    if($stmt->fetch()){
        echo 'false';
    }else{
        echo 'true';
    }
    exit();      
}

if($_SERVER['REQUEST_METHOD'] === 'POST'){

    $db = new Database(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);
    $conn = $db->getConnection();

    $user->username = $_POST['username'];
    $user->password = $_POST['password'];
    $user->email = $_POST['email'];

    if(!$user->isUsernameExist($conn)){
        if($user->RegisterUser($conn)){
            Url::redirect('/success.php');
        }
    } 
}

Теперь, если нажать кнопку отправки, я получу эхо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...