ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーのログインとログアウトを実装するための PHP コード例
この記事では、ユーザーのログインとログアウトを実装するための php のコード例を紹介します。一定の参考値があります。困っている友人は参考にしてください。お役に立てば幸いです。
ログイン機能については以前にも書きましたが、ログアウト機能についてはあまり真剣に検討したことがありませんでした。これにより、記録
#クリックしてログインすると、ユーザー アカウント情報が変数の形式で定義されたスコープ (セッション) に保存されます。 Session はセッションを表します。現在のブラウザを閉じない限り、その値は存在します。デフォルトは約 20 分です。// BisAccount变量名, $ret用户账号信息 ,赋值bis作用域 session(‘BisAccount’, $ret, ‘bis’); // 删除 bis作用域 session( null,‘bis’); //取值 在bis作用域,名为BisAccount的值 session(‘BisAccount’, ‘’, ‘bis’);
Login
// 投稿リクエストの場合、つまりログインからのデータの場合ページにアクセスして、ユーザー名とパスワードが正しいかどうかを確認します。 アカウントのパスワードはランダムに生成された数字で結合され、MD5 を使用して暗号化されます
// 投稿でない場合は、投稿があるかどうかを確認します。セッション内のログイン情報
Yes ログイン後のページにジャンプします
No ログイン ページにジャンプします
class Login extends Controller{ //ユーザーのログインとログアウトを実装するための PHP コード例 public function index() { if (request()->isPost()) { $data = input('post.'); $ret = model('BisAccount')->get(['username'=>$data['username']]); if(empty($ret) || $ret->status != 1){ $this->error('该用户不存在或者未审核通过'); } $pass = $data['password']; $ran = $ret['code']; if(md5($pass."".$ran) != $ret['password']){ $this->error('密码错误'); } model('BisAccount')->updateById(['last_login_time'=>time()],$ret->id); //session保存用户信息 赋值bis作用域 session('BisAccount', $ret, 'bis'); return $this->success('ユーザーのログインとログアウトを実装するための PHP コード例成功',url('Index/index')); } else { $account = session('BisAccount','','bis'); if(!empty($account) && $account->id){ return $this->redirect(url('index/index')); } return $this->fetch(); } } //注销 public function logout(){ session( null,'bis'); $this->redirect(url('login/index')); }}ログイン後のページ
Base
セッションに BisAccount があるかどうかを確認します はい、ログイン ステータスを示します
いいえ、ログイン ページにリダイレクトします
class Base extends Controller{ public $account; public function _initialize() { // 判定用户是否ユーザーのログインとログアウトを実装するための PHP コード例 $isLogin = $this->isLogin(); if(!$isLogin) { return $this->redirect(url('login/index')); } } //判定是否ユーザーのログインとログアウトを実装するための PHP コード例 public function isLogin() { // 获取sesssion $user = $this->getLoginUser(); if($user && $user->id) { return true; } return false; } public function getLoginUser() { if(!$this->account) { $this->account = session('BisAccount', '', 'bis'); } return $this->account; }}
Index
ホーム ページは Base から継承されます。アカウントがログアウトされ、index/index に再度アクセスすると、Base の _initialize 初期化メソッドが bis スコープに BisAccount があるかどうかを判断し、ログイン後にページにアクセスせずにログイン ページにジャンプします。ログイン後、index/index と login/index にアクセスすると、同じページが返されます。
class Index extends Base{ public function index() { return $this->fetch(''); } }
//存 session(‘BisAccount’, $ret, ‘bis’); //取 session(‘BisAccount’, ‘’, ‘bis’);
はすべて BisAccount
です。以上がユーザーのログインとログアウトを実装するための PHP コード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。