如何使用Angular登录会话?

时间:2017-05-26 04:16:04

标签: javascript php angular session

login.js

     $http({
              url: 'http://ipadress/login.php',
              method: 'POST',
              data: {
                'var_id': $scope.form.txt_id,
                'var_pass': $scope.form.txt_pass
              }
            }//http

的login.php

<?php
session_start();
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
mysql_connect("localhost","root","password");
mysql_select_db("db");
$data = file_get_contents("php://input");
$dataJsonDecode = json_decode($data);

$var_id = $dataJsonDecode->var_id;
$var_pass = $dataJsonDecode->var_pass;


$sql = "SELECT * FROM user WHERE user_login = '".($id)."' and user_pass = '".md5($pass)."'";
$query = mysql_query($sql);
$result = mysql_fetch_array($query);

$resource = mysql_query($sql);
$count_row = mysql_num_rows($resource);

if (!$result) {
    $results = '{"results":"not match"}';
} else {
    $_SESSION["users_login"] = $result["users_login"];
    session_write_close();
    if($count_row > 0){
        $results = '{"results":"match"}';
    } else {
        $results = '{"results":"Error"}';
    }
}
echo $results;
?>

$http.get('http://ipaddress/data_user.php')
      .then(function (response) {
        console.log(response.data.results);
        $scope.myData = response.data.results;
      }, function (error) {
        console.log(error);
      });

user_data.php

<?php
session_start();
if($_SESSION['users_login'] == ""){
    $results = '{"results":"Please Login"}';
    echo $results;
}
else{
    mysql_connect("localhost","root","password");
    mysql_select_db("db");
    mysql_query( "SET NAMES UTF8" );
    $sql = "SELECT * FROM users WHERE users_login = '".$_SESSION["users_login"]."' ";
    $query = mysql_query($sql);
    $count_row = mysql_num_rows($query);
    if($count_row > 0){
        while($result = mysql_fetch_array($query)){
            $rows[] = $result;
        }
        $data = json_encode($rows);
        $totaldata = sizeof($rows);
        $results = '{"results": '.$data.'}';
    }
    echo $results;
}
?>

登录时遇到问题。我的$results = please login

1 个答案:

答案 0 :(得分:0)

首先检查$result["users_login"]包含的内容.. 您收到please login,因为您没有会话数据。

我不确定你的方法,但不要混合php会话和Ionic,你可以创建一种API来检查离子应用程序的用户凭据,或者在离子应用程序中处理它。
会话通常在网站中用于通过页面传递数据,而不是用于API调用。考虑方案10用户同时访问您的应用程序,您将如何使用Session验证它们?

我的建议是,您可以使用会话存储器来处理应用程序内的会话,而不是使用PHP会话 Read this。有足够的插件可用。或者您可以创建如图所示的here
祝你好运!!