0

我用 PHP 建立了一个网站,现在正在开发一个与之配套的应用程序,(但是我对 php 和 Android 都不是新手,只是对它们一起使用)并且我能够登录并获得状态代码:200 响应(成功登录),但是当我打印出来时在标题列表中

Header[] heads = response.getAllHeaders();

没有显示(在 php 中)我调用的事实

header("Location: success.php")"Location: failure.php"失败,所以我不确定为什么它会返回 200,它就是这样。

但我真正需要知道的是如何访问我$_SESSION在 php 代码中设置的变量,这样我就可以像在我的网站上一样登录我的导航。如果您需要更多信息,请询问。

4

3 回答 3

2

会话变量是在服务器上设置的,不能从客户端访问。如果您看到的是 200,那么您已经错过了带有Location标头的 3XX 响应。

于 2012-04-04T04:53:09.323 回答
0

The default behavior of an website that should work with an app is that it provides an API that will be used for communication.

That means that your server has some url you call while sending some data (via json for example). The server process it and sends back some feedback.

In your case you should just send the login data (use SSL!) and the server shouldn't redirect but send you data back where to go from there so that your app knows if everything is right or not.

对您的 PHP 问题:如果您的 php 没有将 $_SESSION 数据发送到您的 android 应用程序,那么 android 就无法获取信息。其他一切都将是每台运行 PHP 的服务器上的漏洞。

于 2012-04-04T08:30:00.450 回答
0

您应该有以下代码来检索存储在会话中的所有值

<?php 
 session_start(); 
 Print_r ($_SESSION);
 ?> 

如果您只想检索特定的变量值,则按如下方式传递它

<?php 
 // this starts the session 
 session_start(); 
 $ses=$_SESSION['XXX']; 
 echo $ses;
?> 

“XXX”是会话变量名

于 2012-04-04T05:52:44.240 回答