php - 如何从 Objective-C/iOS 中恢复 PHP $_SESSION 变量?

标签 php objective-c ios networking network-programming

我在服务器上有一些 PHP 脚本可以返回 cookie、html 代码等,这些脚本与我一直在使用的 iOS 应用程序进行交互。诸如登录、发送元素、接收元素等。

问题在于保持持久连接。我认为我们会使用 cookie,并且 PHP“启动 session ”将允许我们通过 cookie 访问 $_SESSION 变量。但是,除了 session ID 之外,我找不到 cookie 中返回的任何 session 数据。

我想我可以使用 session ID + 键通过从应用程序中调用脚本来从 PHP session 数组中获取元素。该应用程序并不是什么大问题:

我需要知道 $_SESSION 变量的实际位置,以便我可以使用它们。这听起来可能很滑稽,但这正是我所需要的。

如果我开始一个 session ,然后做类似的事情:

$_SESSION['username']=$_GET['username']

我是否应该能够使用以下方法返回为该 session 设置的变量:

$session_id = $_GET['session_id'];
$key = $_GET['key'];

function getSessionValue($session_id, $key) {
    session_start($session_id);
    return $_SESSION[$key];
}

echo getSessionValue($session_id, $key);

有些东西不工作...我感谢所有的帮助!谢谢:D

最佳答案

首先,session_start() does not take any parameter .因此,在此处声明 session ID 无济于事。

其次,默认情况下,PHP 使用 cookie 将 session ID 存储在名为 PHPSESSID 的变量中。 PHP 将在您首次访问页面时设置此变量。确保在向服务器发出请求时始终添加此 cookie 变量(与 PHP 设置的值相同)。

cookie 的默认存储是文件。文件的位置在 PHP 配置的 session.save_path 变量中设置。在 Ubuntu 上,默认位置是 /var/lib/php5

当请求在 cookie 中设置了 PHPSESSID 变量时,调用 session_start() 将使 PHP 获取 cookie 值并读取相应的 session 文件,然后设置$_SESSION 变量。

关于php - 如何从 Objective-C/iOS 中恢复 PHP $_SESSION 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651574/

相关文章:

javascript - 如何在 jQuery 中重新加载 div

php - Laravel 名称间距问题

php - MySQL 在表之间复制行,同时使用 PHP

ios - 为什么在 Objective C 中总是说属性是非原子的?

iphone - 在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?

ios - 本地化 IOS 按钮标签

php - 三表内联

iphone - 针对没有 xib 的 iPhone 5 屏幕进行优化

ios - IOS同时播放音视频

objective-c - 带有数字格式化程序的 NSTextField 不允许小数输入