使用远程进行jquery验证

时间:2017-05-13 16:38:08

标签: javascript php jquery jquery-plugins

我尝试使用jQuery验证插件验证密码恢复表单。我设法使用远程方法验证字段,但脚本在我按下提交按钮之前发送了一个动作。

我希望你能帮助我。

这是我的javascript代码

$(document).ready(function () {
    $( "#formforgotpassword" ).validate({
        rules: {
            uemail: {
                required: true,
                email: true,
                remote: "includes/ctrl_password_recovery.php"
            }  
        },
        messages: {
          uemail: {          
            required: "Ops, devi inserire un undirizzo email!",
            email: "Ops, il formato email non è corretto!",
            remote: "Ops, questo indirizzo email non esiste!" 
          }
        }
    });
});

这是我的PHP代码

$user_email = $_GET['uemail'];

$query_check_user = mysqli_prepare($conn, "SELECT user_id, user_email FROM users WHERE user_email = ?");
mysqli_stmt_bind_param($query_check_user, 's', $user_email);
mysqli_stmt_execute($query_check_user);
mysqli_stmt_bind_result($query_check_user, $user_id, $useremail);
mysqli_stmt_store_result($query_check_user);
$tot_email = mysqli_stmt_num_rows($query_check_user);
mysqli_stmt_fetch($query_check_user);
mysqli_stmt_close($query_check_user);

if($tot_email == 1){

        echo 'true';

    if ( isset($_POST['Submit']) ){

        $generate_token = generateRandomString();

        $stmt = mysqli_prepare($conn, "INSERT INTO user_recovery (user_id, token) VALUES (?, ?)");

            /* bind parameters for markers */
            mysqli_stmt_bind_param($stmt, 'ii', $user_id, $generate_token);
            /* execute query */
            mysqli_stmt_execute($stmt);

            $send_mail = send_mail($user_email, $generate_token);

    }
            if($send_mail === 'success')
                {

                    echo 'Richiesta andata a buon fine! Presto riceverai una email con le instruzioni per il ripristino';
                } else{                     
                    echo 'Ops, si è verificato un problema';                    
                }    
} else {
    echo 'false';
    die();
}

0 个答案:

没有答案