PHP框架Yii实例学习(新闻发布系统2)

本文介绍在Yii框架中实现用户注册、登录和退出系统的详细步骤。包括修改User模型添加验证规则,创建注册和登录控制器action,创建 LoginForm 模型,以及使用UserIdentity进行身份验证。最后展示了如何创建登录视图并完成用户操作模块。
摘要由CSDN通过智能技术生成

上一节我们使用Yii的工具创建了项目, 并创建了我们会用到的model代码和controller代码, 从本节开始, 我们将不断的接触MVC, 不断的完善我们的系统.

打开protected\models\User.php文件, 修改我们的User Model.
首先修改Model指向的表名, 将tableName()里面return的内容改成users, 如下:

public function tableName() {
	return 'users';
}

 

用户注册的时候, 我们需要用户来输入他喜欢的密码, 需要一个密码确认的字段, 为了防止机器人程序恶意注册, 我们还需要一个验证码字段, 所以要在User这个类里加入2个属性: passwordConfirm和verifyCode, 代码如下:

	public $passwordConfirm;
	public $verifyCode;

下面我们来添加User的字段验证规则.根据我们的需求, username, password, passwordConfirm, email和verifyCode都是必填项, 所以需要添加如下的规则:
array(‘username, password, passwordConfirm, email, verifyCode’, ‘required’)
另外, 我们希望用户名和nickname唯一, 就需要添加以下的规则:
array(‘username’, ‘unique’),
array(‘nickname’, ‘unique’)
注册的时候, 用户需要输入两遍密码以确保没有把密码输错, 这里就需要passwordConfirm字段的值等于password了, 可以使用以下的规则:
array(‘passwordConfirm’, ‘compare’, ‘compareAttribute’ => ‘password’)
这个规则的意思是, passwordConfirm的值必须与password相同.
这样, 我们完成好的验证规则就应该像下面的代码:

	public function rules() {
		return array(
			array('username, password, passwordConfirm, email, verifyCode', 'required'),
			array('username', 'unique'),
			array('username', 'length', 'min' => 5, 'max' => 12),
			array('password', 'length', 'min' => 5, 'max' => 12),
			array('nickname', 'length', 'min' => 4, 'max' => 20),
			array('nickname', 'unique'),
			array('verifyCode', 'captcha'),
			array('passwordConfirm', 'compare', 'compareAttribute' => 'password'),
		);
	}

Yii的model里有个特殊的地方就是, 它可以保护字段的安全性, 所有

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值