您的位置:首页 > 编程语言 > PHP开发

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

2014-10-26 12:40 393 查看
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('/');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐