YII用户注册和用户登录(四)之进行会话控制
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("/");
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: Yii 缓存之片段缓存
- 下一篇: YII进行数据查询及类库追踪
