Heim  >  Fragen und Antworten  >  Hauptteil

Nach dem Abmelden kommt immer noch die Meldung „Bitte nicht erneut anmelden“.

7_NBRTP{1$X_EO@O~TT241N.pngARHSAL0C9(EE~`EIK3`F.pngSE]EP2]LB1P5~_5RL~@IC56.pngWarum steht nach dem Abmelden immer noch die Meldung „Bitte nicht erneut anmelden?“ Die Sitzung wurde nicht gelöscht? Unwissenschaftlich

Base.php-Controller:

<?php

namespace appadmincommon;

use thinkController;

use thinkSession;

class Base erweitert Controller{

// Base.php-Controller ist hauptsächlich abgeschlossen Drei Aufgaben:

// 1. Erstellen Sie eine Login-Flag-Konstante,

// 2. Verarbeiten Sie diejenigen, die nicht angemeldet sind,

// 3. Verarbeiten Sie diejenigen, die angemeldet sind,

protected function _initialize(){

            parent ::_initialize();

                                          // Stellen Sie fest, ob der Benutzer angemeldet ist, und rufen Sie

auf

im Hintergrund eingangsgeschützte Funktion isLogin(){

// Wenn die Login-Konstante leer ist, bedeutet das, dass kein Login vorhanden ist

if(is_null('USER_ID')){

$this->error(' Nicht angemeldet, keine Zugriffsberechtigung...','login/index');

}

}

// Wenn der Benutzer bereits angemeldet ist, wird er nicht mehr angemeldet (){

//Wenn die Login-Konstante leer ist, bedeutet das, dass keine Anmeldung erfolgt

if(!is_null('USER_ID')){

$this->error('Bitte melden Sie sich nicht erneut an. ..','index /index');

森2572 Tage vor1800

Antworte allen(8)Ich werde antworten

  • 山外山

    山外山2018-04-19 13:00:25

      if(is_null('USER_ID')){

        }

        if(!is_null('USER_ID')){

        }

    两个'USER_ID'单引号去掉


    Antwort
    1
  • 路过

    路过2017-10-26 15:38:17

    is_null 是判断变量是不是 null 类型的

    你换成 empty() 就行

    Antwort
    0
  • 森

    还是不行啊

    · 2017-10-27 13:03:09
    yestrue

    我跟着敲的,结果是对的。只能说这个视频除了没有写use think\Session;,其他是对的。一起共同学习吧我微信emaoqingshan

    yestrue · 2017-10-31 23:19:06
    路过

    你声明了常量,并赋值了,退出的时候没有处理常量USER_ID

    路过 · 2017-10-27 13:07:07
  • 森

    2017-10-26 13:00:16

    <?php


    namespace app\admin\controller;


    use app\admin\common\Base;

    use think\Request;

    use app\admin\model\Admin;

    use think\Session;


    class Login extends Base

    {

        // 渲染登录界面

        public function index()

        {

            $this->alreadyLogin();

            return $this->view->fetch('Login');

        }


        // 验证用户身份

        public function check(Request $request)

        {

            //设置返回的初始值

            $status=0;

            // 获取表单提交的数据,并保持在变量中

            $data=$request->param();

            $userName=$data['username'];

            $password=md5($data['password']);

            // 在admin表中进行查询:以用户为条件

            $map=['username'=>$userName];

            $admin=Admin::get($map);

            // 将用户名与密码分开验证

            if(is_null($admin)){

                // 设置返回信息

                   $message='用户名不正确';

            }else if($admin->password!=$password){

                    $message='密码不正确';

            }else{

                $status=1;

                $message='验证通过,请登录后台';

                $admin->setInc('login_count');

                 $admin->save(['last_time'=>time()]);

                 // session::set(name:'user_id',value:$userName);

                 // session::set(name:'user_info',value:$data);

                 session::set('user_id',$userName);

                 session::set('user_info',$data);  

            }

            return ['status'=>$status,'message'=>$message];


        }


        // 退出登录

        public function logout()

        {

            // session(null);

                Session::delete('user_id');

                 Session::delete('user_info'); 

                 $this->success('注册成功,正在返回...','login/index'); 

            //

        }


        

        public function delete($id)

        {

            //

        }

    }

    11111.png

    Antwort
    0
  • yestrue

    一起共同学习吧我微信emaoqingshan

    yestrue · 2017-10-31 23:19:22
    阿拉坚果丶

    在Base.php中添加use think\Session; 所有用到Session的地方都要添加

    阿拉坚果丶 · 2018-03-04 18:56:08
  • StornierenAntwort