-1

我只是用 AJAX 检查用户,看看这个用户是否已经注册,但是在 ajax 检查用户从上次显示的回显提交注册而不是重定向之后我应该怎么做?查看代码以了解我所说的:

这是我的注册表格中的ajax

    ('#phone').keyup(function(){  
            //run the character number check  
                //get the phone  



        //use ajax to run the check  
          $.ajax({

                url: 'check.php',
                 type: 'POST',
                 dataType: 'html',
                    data: { 
                            phone : $('#phone').val()

                            },
                success:function(response){
                    if(response == "1"){
                        document.getElementById('phone').setCustomValidity("این شماره تلفن قبلا به ثبت رسیده است");
                        }
                        else{
                            document.getElementById('phone').setCustomValidity("");
                        }
                                         }

                    });

 });  


<form id=contactform action="registeropr.php" method="post">

////// 这是我的服务器端代码

if(!is_null($_POST['phone'])){


$phone = trim(strtolower($_POST['phone']));

$phone = mysql_escape_string($phone);

    $result = mysql_query("SELECT phone from users WHERE phone = '$phone' LIMIT 0, 3");
        //$user_data = mysql_fetch_array($result);
        $no_rows = mysql_num_rows($result);

        if($no_rows > 0){
            echo 1;
                        }
        else{
            echo 2;
            }
                            }
        ///////////////////////////////////////////
        /*else
        {
            $email = trim(strtolower($_POST['email']));
            $email = mysql_escape_string($email);

    $result = mysql_query("SELECT Email from users WHERE Email = '$email' LIMIT 0, 3");

         $no_rows = mysql_num_rows($result);

        if($no_rows > 0){
            echo 3;
                        }
        else{
            echo 4;
            }

在这里,我回显数字以查看向用户显示正确消息时发生了什么,但是如果用户正确设置所有字段,如果他提交表单,则显示最后一个回显而不是重定向

4

1 回答 1

0

方法:1

在您的 AJAX 代码中,像这样比较它

 success:function(response){
                    if(response == 1){
                                  ^ ^ quotes removed. 

方法:2

你的代码应该是这样的。[有一个额外的大括号已删除),您需要用重定向标头替换您的 echo 语句,如下所示]。

 <?php
    $phone = trim(strtolower($_POST['phone']));

    $phone = mysql_escape_string($phone);

    $result = mysql_query("SELECT phone from users WHERE phone = '$phone' LIMIT 0, 3");
    //$user_data = mysql_fetch_array($result);
    $no_rows = mysql_num_rows($result);

    if($no_rows > 0){
        echo 1;
    }
    else{
        header("location:yourpage.php");

    }
于 2013-08-21T10:00:21.557 回答