簡體   English   中英

如何在離子中使用Ajax獲取php會話數據

[英]How to get php session data with ajax in ionic

我有一個可以正常運行的ionic簡單登錄系統。 系統檢查用戶是否存在於mysql數據庫中。 如果用戶在那里,則返回1 如果不是,則返回0 此返回值通過json發送。

我的問題是我需要將用戶數據發送到下一個屏幕,並在該數據中在用戶注冊中插入一些額外的信息。 例如,登錄后,應用程序將采用用戶的latitudelongitude 我要在注冊時保持這種經度和緯度。

這是login.php

    <?php
session_start();
header("Access-Control-Allow-Origin: *");
$mysql_host = "localhost:3306";
$mysql_database = "melleve";
$mysql_user = "root";
$mysql_password = "";
// Create connection
$conn = new mysqli($mysql_host, $mysql_user, $mysql_password,$mysql_database);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 


$email = $_POST['email'];
$senha = $_POST['senha'];


 $sql = "SELECT * FROM cadast WHERE email='$email' AND senha='$senha'";

 $result = $conn->query($sql);


 $res=mysqli_fetch_array($result);

 $rs = mysqli_num_rows($result);


 if($rs>0)
 {

    if(!isset($_SESSION))
    session_start();

        $_SESSION['id']=$res['id'];         
        $_SESSION['nome']=$res['nome'];
        $_SESSION['email']=$res['email'];   
        $login = 1;
 }

else
{
    $login = 0;
}


echo (json_encode($login));
?>

這是登錄控制器:

 .controller('lg', function($scope, $state) {


$scope.logar = function(){


var formula = $('#formLogin').serialize();


$.ajax({


type : 'POST',
data : formula,
url : 'http://localhost/melleve/login.php',
success : function(data){

if(data == '' || data == 0){

alert('Login ou senha inválidos');

}


if(data == 1){

alert('Login realizado com sucesso');
//$state.go('app.atigmaps');



}


}


})


}



})

我相信問題在於這條線:

   if(!isset($_SESSION))
    session_start();
  1. session_start()應該在$_SESSION['anywhere']任何使用之上。

  2. 避免總是含糊其詞,所以:

     if($_session) 

    始終檢查特定於變量的會話,如下所示:

     if(isset($_session['here']) 

    會話變量在范圍內存在一段時間,或者直到您使用unset為止

     ($ _ session [ 'here']) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM