我希望在将密码插入数据库之前更改要加密的密码,但它不起作用。 它说密码很长。
public function actionCreate() {
$model = new Users;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Users'])) {
$model->attributes = $_POST['Users'];
$password = $_POST['Users']['password'];
$model->password = md5($password);
if ($model->save())
$this->redirect(array('view', 'id' => $model->id));
}
$this->render('create', array(
'model' => $model,
));
}
答案 0 :(得分:1)
您使用什么数据库和数据类型..? 如果使用mysql,则可以使用char(32)或varchar(32),因为MD5加密的长度为32个字符。
并注意您的模型规则
public function rules() {
return array (
array('password', 'length', 'max'=>20),
//length means your strings password that you entered can not more than 20 character
//but its not effect with password encrypted result
);
}
可能是“密码长到”的消息,因为您的rules()验证器。