YII用户注册和用户登录(四)之进行会话控制

来源:互联网 发布:36氪和知乎 编辑:程序博客网 时间:2024/04/29 20:54

4 进行会话控制;

上面实现了用户登录在模型当中分析,怎样使用户在不同页面上跳转都保持在线状态,这便涉及到会话控制。这里主要是从控制器方面进行分析。

    /**     *用户登录      */    function actionLogin(){        //创建登录模型对象        $user_login = new LoginForm;                if(isset($_POST['LoginForm'])){            //收集表单信息            $user_login->attributes = $_POST['LoginForm'];             //校验数据,走的是rules()方法,不只校验用户名和密码是否填写,还要校验真实性(在模型里边自定义方法校验真实性)            //用户信息进行session存储,调用模型里边的一个方法login(),就可以进行session存储            if($user_login->validate() && $user_login->login()){                $this ->redirect ('./index.php');            }        }                $this -> render('login',array('user_login'=>$user_login));    }
代码追踪:








前台判断是否用户登录:

                    <!--判断用户是否登录系统-->                    <?php                        //在user组件里边有一个方法getIsGuest(),判断用户是否是游客                        if(Yii::app()->user->getIsGuest()){                    ?>                                        <font id="ECS_MEMBERZONE">                        <div id="append_parent"></div>                        欢迎光临本店                         <a href="./index.php?r=user/login"> 登录</a>                        <a href="./index.php?r=user/register">注册</a>                    </font>                    <?php } else {?>                    <font id="ECS_MEMBERZONE">                        <div id="append_parent"></div><!--                        在user组件里来表示用户登录信息,这个信息是session里面信息-->                        <font class="f4_b"><?php echo Yii::app()->user->name; ?></font>, 欢迎您回来!                        <a href="#">用户中心</a>                        <a href="./index.php?r=user/logout">退出</a>                    </font>                    <?php } ?>

怎样删除会话控制哪?

这样就ok!

    /* 用户退出系统     */    function actionLogout(){        //删除session信息        Yii::app()->session->clear();  //删除内存里边sessiion变量信息        Yii::app()->session->destroy(); //删除服务器的session文件        $this->redirect('/');    }


0 0
原创粉丝点击