由于公众平台的特殊形式,用户的消息是通过腾讯服务器直接POST的过来的,服务器是不带Cookie过来的,所以当你想用平时直接设置Cookie何Session是不行的,Cookie是彻底没戏,Session的问题是 服务器每次过来不带session_id,所有我们也无话读取session文件,解决的办法就是吧用户Post过来的微信名当做sessionid,微信号(openid)是一个唯一不重复的,这样每个用户的状态是可以独立的。
<?php $wObj = new Weixin(); $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $wObj->fromUsername = $postObj->FromUserName; session_id($wObj->fromUsername); session_start(); ?>
这样后我们就能用session存用户状态了。