0

次のフィールドを持つパスワードリセットフォームに取り組んでいます

<==Username==>
<==Current Password==>
<==New Password==>
<==Confirm Password==>

コードを表示

  <div class="row"><?php 
    echo $form->labelEx($model,'username'); 
    echo $form->textField($model,'username',array('size'=>45,'maxlength'=>150)); 
    echo $form->error($model,'username'); ?>
  </div>    

  <div class="row"><?php         
    echo $form->labelEx($model,'Current password');
    $model->password="";
    echo $form->textField($model,'password',array('size'=>45,'maxlength'=>150)); 
    echo $form->error($model,'password'); ?>
  </div>

  <div class="row"><?php   
    echo $form->labelEx($model,'New password');
    $model->password="";
    echo $form->passwordField($model,'password',array('size'=>45,'maxlength'=>150)); 
    echo $form->error($model,'password'); ?>
  </div>

   <div class="row">  
   <?php echo $form->label($model,'password_repeat'); ?>    
   <?php echo $form->passwordField($model,'password_repeat',array('size'=>45,'maxlength'=>150)); ?>    
   <?php echo $form->error($model,'password_repeat'); ?> 
   </div>

   <div class="row buttons"><?php 
    echo CHtml::submitButton('Reset Your Password');
    ?></div><?php

コントローラーコード

    public function actionUpdate($id)
{
    $model = $this->loadModel($id);

// set the parameters for the bizRule
$params = array('GroupzSupport'=>$model);
// now check the bizrule for this user
if (!Yii::app()->user->checkAccess('updateSelf', $params) &&
    !Yii::app()->user->checkAccess('admin'))
{
    throw new CHttpException(403, 'You are not authorized to perform this action');
}
  else
{

   if(isset($_POST['GroupzSupport']))
    {                        
        $model->attributes=$_POST['GroupzSupport'];
                    $model->password = $model->hashPassword($_POST['GroupzSupport']['password']);
        if($model->save())
            $this->redirect(array('admin','id'=>$model->id));
    }

    $this->render('update',array(
        'model'=>$model,
    ));
}
}

データベースに更新する必要がある次のパスワード フィールドがあります。新しいパスワード フィールドにパスワード変数を使用する必要があります。ここで、現在のパスワードを新しいパスワードに上書きして保存する必要があります。これどうやってするの。

4

1 に答える 1