在注册的时候怎么判断用户已经是否存在,并把错误信息显示出来?求解! [ 1.1 版本 ]
控制器:
//登录
public function actionLogin()
{
$this->layout="//layouts/column3";
$model=new LoginForm;
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
$model->password = md5($_POST['LoginForm']['password']);
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login()) {
//var_dump(yii::app()->user->getState('userName'));exit();
if((yii::app()->user->getState('isAdmin'))==true) {
$this->redirect(array('meeting/index'));
}
$this->redirect(Yii::app()->user->returnUrl);
}
}
// display the login form
$this->render('login',array('model'=>$model));
}
//注册
public function actionCreate()
{
$this->layout = '//layouts/column3';
$model=new Person;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Person']))
{
$model->attributes=$_POST['Person'];
$model->password = md5($_POST['Person']['password']);
$model->repeat_password = md5($_POST['Person']['repeat_password']);
$model->state = 1;
if($model->save())
$this->redirect(array('login'));
}
$this->render('register',array(
'model'=>$model,
));
}
最佳答案
-
注册的时候,只需要将 username 字段的 验证规则设置为 unique 即可。意思就是说要此字段的值唯一
共 5 条回复asd5230653 回复于 2015-05-21 09:35 回复是这样就行吗?array('name','unique','message'=>'用户名已存在'),这样好像没有办法呀
asd5230653 回复于 2015-05-21 16:34 回复@小伙儿 谢谢你,已经可以了
@asd5230653 你想怎么感谢小伙儿?
asd5230653 回复于 2015-05-22 09:48 回复@╃巡洋艦㊣ 我是渣渣兼新手,舰长就别坑我了,刚刚看了伙子哥,副总裁着实吓了我一跳
其他 1 个回答
-
请用markdown重新编辑
共 5 条回复asd5230653 回复于 2015-05-21 09:36 回复不大懂你的意思?
@asd5230653 你看你写的格式对吗?
asd5230653 回复于 2015-05-21 16:35 回复@strive 谢谢,我会注意的,我已经找到解决办法了
@asd5230653 还是我帮你改的,下次注意
asd5230653 回复于 2015-05-22 09:49 回复@strive 十分谢谢!!!!
asd5230653
注册时间:2015-05-15
最后登录:2015-07-22
在线时长:4小时32分
最后登录:2015-07-22
在线时长:4小时32分
- 粉丝5
- 金钱395
- 威望10
- 积分535