ホームページ  >  記事  >  バックエンド開発  >  PHP はユーザーがログインしているかどうかを判断するインスタンス分析

PHP はユーザーがログインしているかどうかを判断するインスタンス分析

墨辰丷
墨辰丷オリジナル
2018-06-01 10:48:503664ブラウズ

この記事では、ユーザーがログインしているかどうかを判断するための 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 データベースに簡単にインポート例

以上がPHP はユーザーがログインしているかどうかを判断するインスタンス分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。