比如:在进行用户绑定时,我们需要输入用户的相关信息,比如:用户名、密码,或者姓名、电话号码,服务端验证通过,即可将系统用户与微信用户绑定。
这种情况可以使用session吗?还是说必须使用缓存机制比如memcache?
//需要判断消息类型
$MsgType = $data['MsgType'];
$from_Content = $data['Content'];
$openid = $data['FromUserName'];
//判断是否绑定
$uid = $this->is_binding($openid);
//获取用户上一步操作的信息session
$last_do = session($openid.'_do');
$last_data = session($openid.'_data');
switch($MsgType){
case 'text':
//信息存入数据库,目前只储存文本消息
$saveData['openid'] = $openid;
$saveData['content'] = $from_Content;
$saveData['create_time'] = $data['CreateTime'];
$saveData['msg_type'] = $MsgType;
M('Wx_message')->data($saveData)->add();
//last do
if($last_do =='bd_0'){
session($openid.'_do','bd_1');
session($openid.'_data',$from_Content);
$content = "请输入注册邮箱, 如需退出输入exit";
}
elseif($last_do =='bd_1'){
//session($openid.'_do','bd_2');
$username = session($openid.'_data');
$email = $from_Content;
session($openid.'_data',null);
session($openid.'_do',null);
$content = $this->sent_binding($username,$email,$openid);
}
//判断关键字
//绑定
elseif(strtolower($from_Content)=="bd") {
if($uid){
$content = "您已经绑定过,输入help进行其他操作";
}else{
session($openid.'_do','bd_0');
//$last_do = session($openid.'_do');
$content = "请输入用户名, 如需退出输入exit";
}
}
defaut:
break;
} 最佳答案