Я сделал проверку формы как на стороне клиента, так и на стороне сервера. Для клиентской части я использовал плагин проверки 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');
}
}
}
Теперь, если нажать кнопку отправки, я получу эхо.