如果我设置$_SESSION变量在我的PHP API脚本,他们是自动存储的AFNetworking 2


If I set $_SESSION variables in my PHP API Script, are they automatically stored by AFNetworking 2

我需要帮助与AFNetworking和设置数据的用户。我有一个iOS应用程序,用户将使用它访问数据。我已经使用AFNetworking 2.2成功登录,但我想使用数据$_SESSION数据从PHP登录脚本填充查询其他视图。

例如,如果Joe Bloggs登录到应用程序,我将SQL查询中的$_SESSION变量设置为:

$_SESSION['id'] = $row['id'];
$_SESSION['user'] = $row['username'];
$_SESSION['name'] = $row['name']; 

我想做的是有这些变量存储当我返回数据到我的应用程序,这样我就可以使用这些值POST它回到另一个端点,并从数据库查询相关的用户数据。

从我所读到的,AFNetworking将自动保存cookie,但是SESSION数据也存储吗?如果不是,我该如何存储这些值?或者,如果不能存储这些值,我是否可以使用cookie中的数据在返回到下一个结束点时检索$_SESSION变量中的值?

对不起,我有点迷路了。我希望这是有意义的。
<?php
session_start();
header('Content-type: application/json');
require_once('DbConnector.php');
$connector = new DbConnector();
$username=htmlspecialchars($_POST['username'],ENT_QUOTES);
$password=md5($_POST['password']);
$sql="SELECT id, username, password, name FROM users WHERE username='".$username."' AND enabled = '1'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
//if username exists
if(mysql_num_rows($result)>0)
{
    //compare the password
    if(strcmp($row['password'],$password)==0)
    {
        $_SESSION['id'] = $row['id'];
        $_SESSION['user'] = $row['username'];
        $_SESSION['name'] = $row['name'];       
        $userSession = json_encode ($_SESSION['name']['user']['id']);
        echo '{"success":1}';
        //echo '{"custid":$custid, "username":"$username", "name":"$name"}';
 } else {
    echo '{"success":0,"error_message":"Username and/or password is invalid."}';

}
}else {    echo '{"success":0,"error_message":"Username and/or password is invalid."}'; 
}
?>

好了,所以经过一个星期的尝试,让它正常工作,我发现我只需要设置$_SESSION变量,然后成功,这些必须成为可访问的基于信息设置在头

以后的查询可以用$_SESSION变量填充,只要你已经在你计划使用的所有PHP脚本中正确启动了会话。

我最初确实得到了一些错误,因为我试图将JSON写入头部(检查我的脚本中的$userSession变量),一旦我将违规行注释出来,它就会工作得很好!!