Maison  >  Article  >  développement back-end  >  PHP détermine si l'utilisateur s'est connecté à l'analyse d'instance

PHP détermine si l'utilisateur s'est connecté à l'analyse d'instance

墨辰丷
墨辰丷original
2018-06-01 10:48:503621parcourir

Cet article présente principalement les informations pertinentes sur PHP pour déterminer si l'utilisateur s'est connecté. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

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. Définir des variables globales en arrière-plan et interroger les informations utilisateur

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;
}

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Plusieurs points à noter lors de la définition de l'espace de commande en PHP

Délai d'expiration de la configuration de l'adresse distante de la requête PHP Solution

phpUn exemple simple d'importation d'un tableau Excel dans une base de données MySQL via PHPExcel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn