为什么最后的回声显示而不是页面重定向?

时间:2013-08-21 09:24:59

标签: php

我只是检查用户使用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;
            }

这里是我回显数字,看看发生了什么事情向用户显示正确的信息,但是如果用户正确设置了所有字段,如果他提交表格,则显示的是最后一个回显而是重定向

1 个答案:

答案 0 :(得分:0)

<强>的方法:1

在你的AJAX代码中,比较它

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

<强>的方法:2

您的代码应该是这样的。 [有一个EXTRA大括号已移除),您需要用重定向标题替换您的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");

    }