实时服务器中的页面之间未传递数据

时间:2015-10-15 08:01:21

标签: javascript php jquery ajax

我的网站只有在将其上传到实时服务器后才遇到奇怪的问题。在localhost中我没有这些问题。

问题出在登录和注册功能上。我先谈谈登录。

我键入了凭据,发现该页面是在f12网络标签中调用的。但是该页面没有检索到任何数据!所以我放弃了这个jquery / ajax一段时间并手动检查了php页面,如果它们返回任何数据但仍然没有。

现在流程如下:

用户填写的登录表单>来自php脚本的ajax请求 - >来自类文件的php请求并返回到ajax - > ajax可以访问管理信息中心。

现在我告诉你,我排除了ajax请求,只检查了php和类文件。同样,它不会返回从类文件到PHP脚本的任何内容,尽管我只回应“某事”!它甚至没有通过任何功能!

然后我省略了类文件,用ajax文件检查了php脚本。我只回显“wexckdsewndxw”并将ajax中的数据类型改为'text'..仍然没有得到任何值!

总而言之,页面之间的数据根本没有传递!所以我怀疑它与这里提到的crossDomain问题有关:

How does Access-Control-Allow-Origin header work?

但不确定这是如何工作的以及我应该如何改变我的代码。

我的参考代码:

登录-user.js的

/*login user*/
  <!--login form submission starts-->
    $("document").ready(function(){
          $("#login-user").submit(function(){             
            var data = {
              "action": "test"
            };

            data = $(this).serialize() + "&" + $.param(data);
            $.ajax({
              type: "POST",
              dataType: "json",
              url: "login-this-user.php",
              data: data,
              success: function(data) {
                  alert(data);
                  console.log(data);
                  var i;
                  for (i = 0; i < data.length; i++)
                  {
                      console.log(data[i].email);
                       console.log(data[i].activate);
                        console.log(data[i].status);

                if($.trim(data[i].status)=='0')
                {
                    //alert("not verified");
                    $('.invalid-popup-link').trigger('click');

                }else 
                {
                    //alert("verified");
                    location.replace("admin/dashboard.php");

                }
                  }//end for

              },
               error: function( jqXhr, textStatus, errorThrown ){
                    console.log( errorThrown );
                }
            });
            return false;
          });
        });
<!--login form submission ends-->

登录此结果user.php的

<?php
session_start();
include('config.php');
include('class.login.php');

$return = $_POST;
//$return ='{"email":"admin@gmail.com","pass":"admin","action":"test"}';

//$return['json']= json_encode($return);
  //  
  //below code to store in database 
$data = json_decode($return, true);


$login = new checkLogin();
$status = $login->checkLogin2($data["email"],$data["pass"]);
$_SESSION['user_id']=$status;


$login = new checkLogin();
$profile = $login->check_profile($data["email"]);




$activated_id=array();
foreach($profile as $k=>$v){
array_push($activated_id,array("email"=>$v['email'],"activate"=>$v['activate'],"status"=>'0'));
 $_SESSION['email'] = $v['email'];
 $_SESSION['activated_id'] = $v['activate'];

}
//header('Content-Type: application/json');
echo json_encode($activated_id);

  ?>

<?php
 session_start();
 ?>
 <?php
 class checkLogin
{
   public $email;
   public $password;
   public $userId;

   public $salt;
   public $hpass;



    public function __construct()
    {

    }

    public function checkLogin2($param1, $param2)
    {
        $this->email=$param1;

        $this->password=$param2;


         $sql = "SELECT * FROM authsessions WHERE  email='{$this->email}'";
        $statement = connection::$pdo->prepare($sql);
        $statement->execute();
        while( $row = $statement->fetch()) {
        $salt=$row['salt'];

        $hashAndSalt=$row['hashpword'];

         $user_id=$row['UUID'];

        }

        if (password_verify($this->password, $hashAndSalt)==true) {
         $status = "verified";
         $_SESSION['user_id'] =$user_id;
         $_SESSION['logged_in']=1;
        }else
        {
        $status = "not verified";
          $_SESSION['user_id'] =0;
         $_SESSION['logged_in']=0;
        }

        return $_SESSION['user_id'] = 1;
    }

    public function check_profile($param)
    {
        $this->email = $param;


        $sql="SELECT * FROM authsessions WHERE email = '{$this->email}'";
        $stmt =connection::$pdo->prepare($sql);
        $stmt->execute();
        $profile=array();


            while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
               $profile[] = $row;
               }
        return $profile;


    }

}
 ?>

0 个答案:

没有答案