 |
Yii 1 เปลี่ยนรหัสผ่านครับ มันขึ้น error ว่า your request is invalid รบกวนผู้รู้ช่วยชี้แจงหน่อยนะครับ |
|
 |
|
|
 |
 |
|
หน้า site controller ครับ
Code (PHP)
public function actionChangePassword($id) {
$model = new ChangePasswordForm('changePwd');
if (Yii::app()->user->isGuest) {
$this->redirect('login');
}
$model = ChangePasswordForm::model()->findByAttributes(array('id'=>$id));
$model->scenario = 'changePwd';
if(isset($_POST['User'])){
$model->attributes = $_POST['User'];
$valid = $model->validate();
if($valid){
$model->password = $model->new_password;
if($model->save())
$this->redirect(array('changepassword','msg'=>'successfully changed password'));
else
$this->redirect(array('changepassword','msg'=>'password not changed'));
}
}
$this->render('ChangePassword', array('model' => $model));
}
หน้า model form ครับ
Code (PHP)
class ChangePasswordForm extends CFormModel
{
public $old_password;
public $new_password;
public $repeat_password;
public function rules()
{
return array(
array('old_password, new_password, repeat_password', 'required','message'=>'กรุณากรอกรหัสผ่าน'),
array('repeat_password', 'compare', 'compareAttribute'=>'new_password','on'=>'changePwd', 'message'=>'Passwords don\'t match'),
);
}
public function findPasswords($attribute, $params)
{
$user = ChangePasswordForm::model()->findByPk(Yii::app()->user->id);
if ($user->password != $this->old_password)
$this->addError($attribute, 'Old password is incorrect.');
}
}
Code (PHP)
public function actionChangePassword($id) {
$model = new ChangePasswordForm('changePwd');
if (Yii::app()->user->isGuest) {
$this->redirect('login');
}
$model = ChangePasswordForm::model()->findByAttributes(array('id'=>$id));
$model->scenario = 'changePwd';
if(isset($_POST['User'])){
$model->attributes = $_POST['User'];
$valid = $model->validate();
if($valid){
$model->password = $model->new_password;
if($model->save())
$this->redirect(array('changepassword','msg'=>'successfully changed password'));
else
$this->redirect(array('changepassword','msg'=>'password not changed'));
}
}
$this->render('ChangePassword', array('model' => $model));
}
หน้า changepassword ครับ
มันขึ้น error ว่า your request is invalid
รบกวนผู้รู้ช่วยชี้แจงหน่อยนะครับ
ว่าจะทำยังไงให้มัน เปลี่ยนรหัสผ่านได้ครับ
ขอบคุณครับ
thank for advance
Tag : PHP, Yii PHP Framework
|
|
 |
 |
 |
 |
Date :
2015-10-31 16:48:44 |
By :
mhbank |
View :
927 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กำ copy ผิด T T
Code (PHP)
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'changepassword-form',
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true,
),
));
?>
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-3">
<h1 ><?php echo "Change Password"; ?></h1>
<p>Please fill out the following fields to change password :</p>
</div>
</div>
<div class="row">
<div class="col-lg-3 ">
<?php echo $form->labelEx($model,'old_password'); ?>
<?php echo $form->passwordField($model,'old_password'); ?>
<?php echo $form->error($model,'old_password'); ?>
</div>
</div>
<div class="row">
<div class="col-lg-3 ">
<?php echo $form->labelEx($model,'new_password'); ?>
<?php echo $form->passwordField($model,'new_password'); ?>
<?php echo $form->error($model,'new_password'); ?>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<?php echo $form->labelEx($model,'repeat_password'); ?>
<?php echo $form->passwordField($model,'repeat_password'); ?>
<?php echo $form->error($model,'repeat_password'); ?>
</div>
</div>
<div class="col-lg-offset-1 col-lg-11">
<?php echo CHtml::submitButton('Change password', array('class' => 'btn btn-primary',)); ?>
</div>
แก้ครับ ><
|
 |
 |
 |
 |
Date :
2015-10-31 16:49:46 |
By :
mhbank |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
actionChangePassword($id)
เปลี่ยนเป็น actionChangePassword() ใน controller ครับ
|
 |
 |
 |
 |
Date :
2015-10-31 20:00:09 |
By :
จักรพงษ์ พรมเสนา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาออกแล้วครับแต่ก็ไม่ได้ครับมันขึ้น
Fatal error: Call to undefined method ChangePasswordForm::model() in C:\xampp\htdocs\reportPOS\protected\controllers\SiteController.php on line 411
ทั้งๆที่ผมก็มี ChangePasswordForm ทำไม error ก็ไม่รู้
|
 |
 |
 |
 |
Date :
2015-11-02 12:05:07 |
By :
mhbank |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|