Rumah >pembangunan bahagian belakang >tutorial php >PHP判断用户是否已经登录实例分析

PHP判断用户是否已经登录实例分析

墨辰丷
墨辰丷asal
2018-06-01 10:48:503696semak imbas

这篇文章主要介绍了PHP判断用户是否已经登录的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

1.

2.

<if condition="$GLOBALS[&#39;userinfo&#39;][&#39;user_id&#39;] gt 0">
<span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" style="color:#404958;">找回登录密码</a></span>
<else/>
<span class="help_wz"><a href="/Login/FindPwd" style="color:#404958;">找回登录密码</a></span>
</if>

3.后台设置全局变量并查询用户信息

public function UserInfo($user_id){
//查询系统信息
$system=array(
&#39;CmdId&#39;=>&#39;System&#39;,
&#39;Token&#39;=>&#39;wap&#39;,
&#39;PostDetails&#39;=>json_encode(array(
)));
//通过curl的post方式发送接口请求
$curl=new CurlController();
$strs=$curl->SendCurl($system);
$GLOBALS[&#39;system&#39;]=$strs[&#39;AcctDetails&#39;];
if(empty($user_id)){
return false;
}
setcookie("login_uid", $user_id, time() + 3600, "/", C(&#39;cookie_url&#39;));
setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"/",C(&#39;cookie_url&#39;));;
$data=array(
&#39;CmdId&#39;=>&#39;Inpidual&#39;,
&#39;Token&#39;=>session(&#39;token&#39;),
&#39;PostDetails&#39;=>json_encode(array(
&#39;user_id&#39;=>$user_id,
)));
//通过curl的post方式发送接口请求
$curl=new CurlController();
$str=$curl->SendCurl($data);
$GLOBALS[&#39;userinfo&#39;]=$str[&#39;AcctDetails&#39;];
$newtoken=unserialize($str[&#39;AcctDetails&#39;][&#39;token&#39;]);
$oldtoken=unserialize(session(&#39;token&#39;));
if(!empty(session(&#39;token&#39;)) && !empty($str[&#39;AcctDetails&#39;][&#39;token&#39;])){
//用户不对
if($newtoken[&#39;user_id&#39;] !== $newtoken[&#39;user_id&#39;]){
session(&#39;token&#39;,null);
session(&#39;user_id&#39;,null);
header(&#39;Location:/Login/Login&#39;);
return false;
}
//token不对
if($newtoken[&#39;time&#39;] !== $oldtoken[&#39;time&#39;]){
session(&#39;token&#39;,null);
session(&#39;user_id&#39;,null);
header(&#39;Location:/Login/Login&#39;);
return false;
}
//超时的不能在这做,原因是存入session的值不变,如果用户一直操作的话,而且只登陆一次,那么就会出现问题
}
return true;
}

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP定义命令空间的几个注意点

PHP请求远程地址设置超时时间的解决方法

php通过PHPExcel导入Excel表格到MySQL数据库的简单实例

Atas ialah kandungan terperinci PHP判断用户是否已经登录实例分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn