2017-05-20 2 views
0

irgendwie meine actionResetPassword Erfolg Nachricht wird nicht angezeigt. Kann mir jemand erklären, was ich hier falsch mache?Aktion erfolgreich Text nicht in yii2

public function actionChangePassword() 
{ 
    $user = User::loadModel(Yii::$app->user->identity->id); 
    $user->scenario = 'changePassword'; 
    if ($user->load(Yii::$app->request->post())) { 
     if ($user->validatePassword($user['old_password'])) { 
      $user->setPassword($user['new_password']); 
      $this->saveObject($user, Yii::t('app', 'Your password was changed successfully.'), Yii::t('app', 'Something is wrong')); 
      $this->goHome(); 
     } else { 
      Yii::$app->getSession()->setFlash('error', 'You have entered wrong old password'); 
     } 
    } 
    return $this->render('change-password', [ 
     'model' => $user, 
    ]); 
} 

Saveobject() Funktion:

function saveObject($object = NULL, $successMessage = '', $errorMessage = '') 
{ 
    if ($object->save()) { 
     Yii::$app->getSession()->setFlash('success', $successMessage); 
    } else { 
     Yii::$app->getSession()->setFlash('error', $errorMessage); 
    } 
    return 1; 
} 

Es leitet auf meiner Homepage, aber irgendwie meine Yii:t Nachrichten nicht angezeigt. Warum?

+0

aktualisieren Sie Ihre Frage und fügen Sie Ihre saveObject-Funktion bitte .. – scaisEdge

+0

Frage aktualisiert – MKD

+0

Sie haben immer Fehlermeldung oder Sie haben immer noch keine Nachricht? – scaisEdge

Antwort

0

überprüfen, ob in Ihrem Layout (zB: Ansichten \ layout \ main.php), wenn Sie

use common\widgets\Alert; 
.... 

<?= Alert::widget() ?> 

haben, wenn Sie in Ihrer Ansicht nicht ein Widget try

var_dump(Yii::$app->getSession()->getFlash()); 

Einsatz haben

+0

Ich habe es nicht – MKD

+0

dann könnte sein, dass Sie die Nachricht nicht sehen, weil Sie kein Widget (oder SOM-Code) für die Anzeige der Änderung haben .. Was verwenden Sie für die Warnmeldung anzeigen? – scaisEdge

+0

Antwort Update mit einem Vorschlag – scaisEdge

Verwandte Themen