मैंने व्यवस्थापक पासवर्ड बदलने के लिए एक परिवर्तन पासवर्ड कार्यक्षमता बनाई है। मैंने this toutorial का उपयोग किया था।
अब मुझे $ मॉडल-> मान्य() में कोई समस्या आती है।
क्या कोई मेरी मदद कर सकता है ??Yii व्यवस्थापक के लिए पासवर्ड बदलें
नियंत्रक
public function actionIndex()
{
$id = 1;
$model = User::model()->findByAttributes(array('usertype' => $id));
$model->setScenario('changePwd');
if (isset($_POST['User'])) {
$model->attributes = $_POST['User'];
if ($model->validate()) {
$model->password = md5($model->new_password);
if ($model->save()) {
Yii::app()->user->setFlash('success', "Password Changed Successfully!");
}
} else {
Yii::app()->user->setFlash('error', "Change Password failed!");
}
}
$this->render('index', array('model' => $model));
}
मॉडल
class User extends CActiveRecord
{
public $old_password;
public $new_password;
public $repeat_password;
/**
* @return string the associated database table name
*/
public function tableName()
{
return '{{user}}';
}
/**
* @return array validation rules for model attributes.
*/
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('usertype, firstname, lastname, email, password, mobile, gender, dob, country, area, city, address, street, housenumber, extradirection, createdon', 'required'),
array('usertype, country, area', 'numerical', 'integerOnly'=>true),
array('firstname, lastname, email, mobile, dob, city, street, housenumber', 'length', 'max'=>155),
array('password', 'length', 'max'=>225),
array('gender', 'length', 'max'=>6),
array('status', 'length', 'max'=>1),
array('updatedon', 'safe'),
// The following rule is used by search().
// @todo Please remove those attributes that should not be searched.
array('id, usertype, firstname, lastname, email, password, mobile, gender, dob, country, area, city, address, street, housenumber, extradirection, createdon, updatedon, status', 'safe', 'on'=>'search'),
array('old_password, new_password, repeat_password', 'required', 'on' => 'changePwd'),
array('old_password', 'findPasswords', 'on' => 'changePwd'),
array('repeat_password', 'compare', 'compareAttribute'=>'new_password', 'on'=>'changePwd'),
);
}
public function findPasswords($attribute, $params)
{
$user = User::model()->findByPk(Yii::app()->user->id);
//echo '<pre>';print_r($user);echo '</pre>';
if ($user->password != md5($this->old_password))
$this->addError($attribute, 'Old password is incorrect.');
}
फार्म
<div class="login_con_new">
<div class="form">
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'change-password-form',
//'action' => Yii::app()->createUrl('login/authenticate'),
// 'enableAjaxValidation' => FALSE,
'enableClientValidation' => true,
'clientOptions' => array('validateOnSubmit' => true,),
'htmlOptions' => array(
'class' => 'form',
)
));
?>
<div class="col-sm-6">
<h2 class="title">Change Password</h2>
<?php
foreach(Yii::app()->user->getFlashes() as $key => $message) {
echo '<div class="flash-' . $key . '">' . $message . "</div>\n";
}
?>
<div class="form-group">
<?php echo $form->labelEx($model,'Current_password'); ?>
<?php echo $form->passwordField($model,'old_password',array('class'=>'form-control login-field','size'=>60,'maxlength'=>222)); ?>
<?php echo $form->error($model,'old_password'); ?>
</div>
<div class="form-group">
<?php echo $form->labelEx($model,'new_password'); ?>
<?php echo $form->passwordField($model,'new_password',array('class'=>'form-control login-field','size'=>60,'maxlength'=>222)); ?>
<?php echo $form->error($model,'new_password'); ?>
</div>
<div class="form-group">
<?php echo $form->labelEx($model,'repeat_password'); ?>
<?php echo $form->passwordField($model,'repeat_password',array('class'=>'form-control login-field','size'=>60,'maxlength'=>222)); ?>
<?php echo $form->error($model,'repeat_password'); ?>
</div>
<div class="form-group">
<div class="col-lg-4" style="padding-left: 0px;">
<?php echo CHtml::submitButton('Change',array('class' => 'btn btn-success','style'=>'color:white')); ?></div>
</div>
</div>
<?php $this->endWidget(); ?>
</div> </div>
$ मान्य मुझे झूठा देता है और दूसरे भाग में प्रवेश करता है।
शो फॉर्म भी। –