Register with Jquery with error

0

Look here again, it costs me to come here, but when I reach my limit, I'm obliged, I need your help, I'm trying to register with JQUERY and PHP, but he always registers it even with all the blank registration. Look at the codes:

PHP

  if((isset($_POST['username'])) && (isset($_POST['password']))){


if( trim($_POST['username']) == '' ){
  echo ('É obrigatório digitar seu usuário');
   exit();
}
  elseif( empty($_POST['password'] ) ) {
 echo ('É obrigatório digitar sua senha');

 exit();
}

if(!preg_match("/^([a-z-0-9 ]+)$/i",$_POST['username'])) {
    echo "só letras e números!";

    exit();
}

 elseif( empty($_POST['password']) ) {
 echo ('É obrigatório digitar sua senha');

 exit();
}

 elseif( empty($_POST['email'] ) ) {
 echo ('É obrigatório digitar seu e-mail');

 exit();
}

     elseif( empty( $_POST['nome'] ) ) {
 echo ('É obrigatório digitar seu nome');

 exit();
}

     elseif( empty( $_POST['sobrenome'] ) ) {
 echo ('É obrigatório digitar seu sobrenome');

 exit();
}


 $username = trim(strtolower($_POST['username']));
$stmt = $mysqli->prepare("SELECT username FROM usuarios WHERE username=?        LIMIT 1");
  $stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($id);
  $stmt->store_result();

 if($stmt->num_rows > 0)  //To check if the row exists
  {
       echo "esse usuário já existe";

  exit();
  }

  $username = strtolower($_POST['username']); 
$username =  str_replace(" ","",$username);

 $query = "insert into usuarios(nome, sobrenome, username, email, nomecompleto, password) values ('". mysqli_real_escape_string($mysqli, $_POST['nome']) ."', '". mysqli_real_escape_string($mysqli, $_POST['sobrenome']) ."', '". trim($username) ."', '". mysqli_real_escape_string($mysqli, $_POST['email']) ."', '". mysqli_real_escape_string($mysqli, $_POST['nome']) ." ". mysqli_real_escape_string($mysqli, $_POST['sobrenome']) ."', '".   md5(mysqli_real_escape_string($mysqli, $_POST['password'])) ."')";
$rs = $mysqli->query($query);


echo "1";


}

JQUERY

  $(function($) {

$('#formcad').submit(function() {

    // Limpando mensagem de erro
     $("#resposta").html('');


    // Enviando informações do formulário via AJAX
    $(this).ajaxSubmit(function(resposta) {

        // Se não retornado nenhum erro
        if (!resposta)
            // Redirecionando para o painel
            window.location.href = 'cad.php';

             $("#resposta").html(resposta); 
           if(resposta === 1){


  }else{

 $('#nome').val("");
 $('#sobrenome').val("");
 $('#password').val("");
  $('#username').val("");
  $('#email').val("");
  $("#resposta").html("Você foi cadastrado com sucesso!");

  }




    });

    // Retornando false para que o formulário não envie as informações da forma convencional
    return false;

});
 });
    
asked by anonymous 16.11.2016 / 05:48

1 answer

1

You have a small logic error in the IF that checks the response, try the following modification:

 $(function($) {

$('#formcad').submit(function() {

    // Limpando mensagem de erro
     $("#resposta").html('');


    // Enviando informações do formulário via AJAX
    $(this).ajaxSubmit(function(resposta) {

        // Se não retornado nenhum erro
        if (!resposta)
            // Redirecionando para o painel
            window.location.href = 'cad.php';

           if(resposta == '1'){

 $('#nome').val("");
 $('#sobrenome').val("");
 $('#password').val("");
  $('#username').val("");
  $('#email').val("");
  $("#resposta").html("Você foi cadastrado com sucesso!");

  }else{

             $("#resposta").html(resposta); 

  }




    });

    // Retornando false para que o formulário não envie as informações da forma convencional
    return false;

});
 });
    
17.11.2016 / 01:09