2015-09-16 14 views
5

mio reindirizzamento:Redirect con metodo post

public function actionLogout() 
{ 
    Yii::$app->user->logout(); 

    $cookies = Yii::$app->response->cookies; 
    $cookies->remove('isBackendLogin'); 
    unset($cookies['isBackendLogin']); 

    if (!strpos(Url::current(), 'backend')) 
    { 
     //POST Method sent 
     return $this->redirect(['backend/user/auth/logout']); 
    } 
    return $this->goHome(); 
} 

ma disconnessione necessitano di dati-metodo post.

C'è un modo per reindirizzare a questa pagina?

+1

vittima: http://stackoverflow.com/questions/5576619/php-redirect-with-post-data –

risposta

0

È possibile utilizzare i campi nascosti nella pagina di disconnessione e inviare automaticamente il modulo con alcuni javascript quando l'utente raggiunge tale pagina.

Modifica: Ho appena visto il tag di un quadro. Sageth, ha dato una risposta per il tuo quadro.

0

È possibile passare i parametri con redirect se si aggiungono parametri all'array url.

return $this->redirect(['/backend/user/auth/logout', 
         'key' => 'value', 
         'anotherPostKey' => 'anotherPostValue', 
         ]); 
+1

nel tuo esempio, chiave e anotherPostKey verrà inviato con il metodo GET –

+0

Oh, capisco. Sembra che Yii2 non possa reindirizzare con POST, ma si ha una variabile globale per gli utenti se si desidera memorizzare i dati con la sessione utente. Vuoi maggiori informazioni a riguardo? – Sageth

+0

Sì, per favore. Il mio problema è che ho due sessioni separate per frontend e backend. Se eseguo il logout in frontend, devo anche effettuare il logout nel back-end. [codice] public function actionLogout() \t { \t \t Yii :: $ app-> utente-> logout(); \t \t $ cookie = Yii :: $ app-> risposta-> cookie; \t \t $ cookies-> remove ('isBackendLogin'); \t \t unset ($ cookie ['isBackendLogin']); \t \t if (! Strpos (URL :: corrente(), 'back-end')) \t \t { \t \t \t // reindirizzare questa \t \t \t return $ this-> redirect_post (Yii :: $ app- > urlManager-> createAbsoluteUrl (['/ backend/user/auth/logout']), []); \t \t} \t \t return $ this-> goHome(); \t} [/ code] –