我在网上看到php session的用法。
1.php
session_start();
$_SESSION[‘passwd’] = "mynameislikui";2.php
session_start();
echo $_SESSION[‘passwd’];我用浏览器从1.php跳到2.php是能正常显示的。但是我用客户端写一个httprequest却有点问题。
我的测试是这样的,访问1.php返回的response中我发现http头中多了
PHPSESSID=7e66f1f846b9645d4269569eccdc29f6
这个值,于是将这个值加入到访问2.php的request的头部。但结果是什么都没有返回。
我不知道我这样的方式对不对,但我感觉浏览器中也没做什么特别的处理,为何就能正常的显示呢?
不知道我有没有把问题说清楚?请高人解惑

解决方案 »

  1.   

    你想做什么呢?学习php里的session的用法? $_SESSION[‘passwd’] = "mynameislikui";
    是错的,应该是 $_SESSION['passwd'] = "mynameislikui";
      

  2.   

    具体的就是一个用户登陆后,通过session记住登陆的状态。只是我想运行在客户端上,比如iphone而不是浏览器上。
      

  3.   


    记住登录状态 是个什么应用场景?说仔细点。iphone 应用里的登录?
      

  4.   

    回ls,就是iphone应用里的登陆。功能就和论坛登陆比较相似,比如用户登录成功后,将用户名之类的保存在session中,给其它页面来操作。我现在的关键问题是浏览器上,用上面写的方式是可以正常使用session的,但是我使用客户端就不行。不知道应该如何模仿浏览器这方面的实现
      

  5.   

    那你得看看具体iphone里是如何模仿post 或者get 的部分,对iphone的应用不清楚是怎么实现的。
    所以你的问题可能需要移动到其他板块才可能有答案了。
      

  6.   

    如何模仿post或get我是知道的。就像我开头说的,我访问1.php的时候返回的response里的头部会多一个
    PHPSESSID=7e66f1f846b9645d4269569eccdc29f6,
    我的想法是在另一个request中同样加入这个头部,那么应该就可以实现同浏览器一样的效果了。但实际的情况是没有成功。可能是我代码的问题,但我同样也想了解下php中这块是如何实现的?所以想问问有没有同样使用客户端实现的例子,可以参考下。最后还是谢谢你了
      

  7.   

    应该是可以的。
    可以用程序取得响应信息头, 然后下次发送时把这个信息也写在头部。要注意, 哪果sesssionid 存的是cookie, 发送时也要构造在cookie里。
      

  8.   

    就像这位兄弟所说的我把整个返回的header都加进去后成功了,之前可能是想得过于简单了,以为判断ssession只是简单的添加了phpsessionid这一个头