public function wxqrcheckAction(){
if(g('ajaxchk')!=''){ //前端頁面顯示二維碼並AJAX定時檢查已否已掃碼驗證
if(isset($_SESSION['wxqrchk'])){
$msg='';
if(isset($_SESSION['user'])){
$msg=$_SESSION['user']['username'];
}
$this->ajaxReturn(array('code'=>1,'username'=>$msg));
}else{
$this->ajaxReturn(array('code'=>0));
}
die();
}else if(g('wxauth')!=''){ //掃碼後訪問
$_SESSION['chksid']=g('wxauth');
WXAuthController::Auth('/Public/wxqrcheck/redirect/'.g('wxauth'),1);
die("wxauth end...");
}else if(g('redirect')!=''){
$openid=WXAuthController::GetOpenid(); //獲取微信OPENID
$user=ORM::for_table('sys_user')->where('openid',$openid)->find_one();
if($user){
$chksid=$_SESSION['chksid'];
session_destroy(); //thinkphp等開始已經session_start了
session_id($chksid);
session_start();//這個函數必須在session_id()之後
$_SESSION['user']=$user->as_array();
if($_SESSION['user']['username']=='admin' || $_SESSION['user']['username']=='adminisrator'){
$_SESSION['isadmin']=true;
}else{
unset( $_SESSION['isadmin']);
}
$_SESSION['islogin']=true;
$_SESSION['wxqrchk']=true;
echo "掃碼登錄成功<br/>";
}else{
echo "沒有這個用戶 openid:".$openid;
}
die("手機端驗證完成");
}else{
$sessionid=session_id();
$qrurl="http://XXXXX.COM/Public/wxqrcheck/wxauth/".$sessionid;
$this->assign('qrurl',$qrurl);
$this->display();
}
}
微信掃碼登錄驗證PHP代碼(不用開放平臺)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.