可是我不是通过IE来访问的,可以说我是想自己写一个微型浏览器,在程序中如何调PHP的函数?

解决方案 »

  1.   

    客户端调用服务器端的php函数?楼主真会开玩笑
      

  2.   

    a.php echo session_id();
    浏览器访问a.php这个页面。
      

  3.   

    请先分清楚客户端和服务器端的概念!
    客户端调用服务器端的php函数?楼主真会开玩笑--深表同感
    楼主是要写一个浏览器,那么首先要清楚http协议,实现session的方案中最普遍的是利用Cookie,通过http header发送的cookie信息,浏览器就可以同服务器端建立session的关系。可以说浏览器同php等动态网页技术一点联系都没有,php、jsp等只与服务器端有关系,而浏览器只与HTML、js、css、http等有关系。
      

  4.   

    只要你的客户端能正确发送header(php session)就可以看到session的信息了
      

  5.   

    本人在网络方面是菜鸟,问出小白问题来大家不要笑
    请教一下,怎么发这个HEADER出去呢?
    登录的时候我post用户的ID和密码到服务器端
    然后服务器端给我返回了PHPSESSID=##$&!之类的一串字符,然后我观察IE就能得到一个SESSONID
    如果我要做到这一点,我该怎么发这个HEADER?
    谢谢
      

  6.   

    我用HTTPDETECT拦截了IE的包,登录时服务器返回的数据如下
    HTTP/1.1 200 OK
    Date: Thu, 18 May 2006 04:01:57 GMT
    Server: Apache/2.0.54 (Unix) PHP/4.4.0
    X-Powered-By: PHP/4.4.0
    Set-Cookie: PHPSESSID=2a19b1b7f389a260361e26f011fe7a6b; path=/
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Set-Cookie: U_tw1:ss215=U_tw1%3Ass215; expires=Fri, 19 May 2006 04:01:57 GMT; path=/
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 194
    Connection: close
    Content-Type: text/html; charset=utf-8
    然后到IE发下一个包时,就已经带上了?session=.......之类的数据了
    我想知道这个session的值是怎么得来的
      

  7.   

    SESSIONID的值实际上是存在客户机上面的,通过COOKIE实现。如果客户机不支持COOKIE的话,SESSION也是白谈。如果没有COOKIE支持的话,那么必须象这样提交 page.php?sessionid=xxxx...仔细想一下便会知道,SESSIONID是由浏览器制造,并存在内存里或是本地COOKID缓存里。通过IE访问网站,IE会自动在信息头里面加带IE自动生成的SESSIONID值。以此告诉服务,是同一浏览者如果你不是当前浏览器,而且你发送的头信息中没有SESSIONID的信息,那么服务器会认为每次都是新的请求。其实做法也很简单,你可以修改自己的浏览器,在里面增加一个方法,也就是说当浏览器打开新网站时,自动生成一个对应的32位的字位串,然后发送信息头,在里面包函这些字符串即可。只需修改你的浏览器程序,无需对服务器和WEB程序进行任何修改。
      

  8.   

    我知道你的意思
    现在就是这样:
    服务器端返回了一个PHPSESSID
    而且在下一个包中,IE附到URL上的是一个SESSONID
    我想知道这个SESSONID是怎么算出来的(我截过HTTP包,服务器没有返回我想要的那个数据,应该是IE按PHPSESSID自己生成的)