Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung

PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung

不言
Freigeben: 2023-04-05 07:34:01
nach vorne
6394 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit dem Codebeispiel für die Benutzeranmeldung und -abmeldung. Ich hoffe, dass es für Sie hilfreich ist . .

Obwohl ich bereits über die Anmeldefunktion geschrieben habe, habe ich mir die Abmeldefunktion nicht ernsthaft angesehen. Es wird hiermit erfasst

Beim Klicken zum Anmelden werden die Benutzerkontoinformationen im definierten Bereich (Sitzung) in Form von Variablen gespeichert. Sitzung stellt eine Sitzung dar, solange Sie den aktuellen Browser nicht schließen. Der Standardwert beträgt etwa 20 Minuten.

// BisAccount变量名, $ret用户账号信息 ,赋值bis作用域
session(‘BisAccount’, $ret, ‘bis’);
// 删除 bis作用域
session( null,‘bis’);
//取值 在bis作用域,名为BisAccount的值
session(‘BisAccount’, ‘’, ‘bis’);
Nach dem Login kopieren

PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung

Login

// Wenn es sich um eine Post-Anfrage handelt, also um die Daten, die aus dem Login stammen Seite, dann ermitteln Sie den Benutzernamen und ist das Passwort korrekt?
Das Kontopasswort wird mit zufällig generierten Zahlen verkettet und mit MD5 verschlüsselt

// Wenn es sich nicht um einen Beitrag handelt, stellen Sie fest, ob Anmeldeinformationen vorhanden sind in der Sitzung
Ja Zur Seite nach der Anmeldung springen
Nein Zur Anmeldeseite springen

class Login extends Controller{	//PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung
    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-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung成功',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'));
    }}
Nach dem Login kopieren

Die Seite nach der Anmeldung
PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung

Basis

Stellen Sie fest, ob in der Sitzung ein BisAccount vorhanden ist
Ja, Anmeldestatus angeben
Nein, zur Anmeldeseite weiterleiten

class Base extends  Controller{
    public $account;
    public function _initialize() {
        // 判定用户是否PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung
        $isLogin = $this->isLogin();
        if(!$isLogin) {
            return $this->redirect(url('login/index'));
        }
    }

    //判定是否PHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung
    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;
    }}
Nach dem Login kopieren

Index

Homepage von Base geerbt. Wenn das Konto abgemeldet ist und Sie erneut auf index/index zugreifen, wird die Initialisierungsmethode _initialize in Base verwendet, um festzustellen, ob ein BisAccount im bis-Bereich vorhanden ist, und um zur Anmeldeseite zu springen, ohne nach der Anmeldung auf die Seite zuzugreifen.
Besuchen Sie nach der Anmeldung index/index und login/index, um zur gleichen Seite zurückzukehren.

class Index extends Base{
    public function index()
    {
        return $this->fetch('');
    }
    }
Nach dem Login kopieren

Tipp: Wenn der gespeicherte Sitzungsname A ist, müssen Sie beim Abrufen der Sitzung auch A verwenden

//存
session(‘BisAccount’, $ret, ‘bis’);
//取
session(‘BisAccount’, ‘’, ‘bis’);
Nach dem Login kopieren
Beide sind BisAccount

Das obige ist der detaillierte Inhalt vonPHP-Codebeispiel zur Implementierung der Benutzeranmeldung und -abmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage