2015-09-16 22 views
5

Benim yönlendirme:Yönlendirme yöntemi yazı ile

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(); 
} 

ancak çıkış sonrası veri yöntem gerektirir.

Bu sayfaya yönlendirmenin herhangi bir yolu var mı?

+1

dupe: http://stackoverflow.com/questions/5576619/php-redirect-with-post-data Sizin örnekte –

cevap

0

Oturum kapatma sayfasındaki gizli alanları kullanabilir ve kullanıcı bu sayfaya ulaştığında formu otomatik olarak javascript ile gönderebilirsiniz.

Düzeltme: Sadece bir çerçevenin etiketini gördüm. Sageth, senin çerçeven için bir cevap verdi.

0

url dizisine parametre eklerseniz, parametreleri redirect ile geçirebilirsiniz.

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

, anahtar ve anotherPostKey GET yöntemiyle gönderilecektir –

+0

anladım. Yii2'nin POST ile yeniden yönlendirme yapamayacağı görünüyor, ancak verileri kullanıcı oturumuyla saklamak istiyorsanız bir kullanıcı genel değişkeniniz var. Bununla ilgili daha fazla bilgi ister misin? – Sageth

+0

Evet, lütfen. Benim sorunum, ön ve arka uç için iki ayrı seansım olmasıdır. Ön uçta oturumu kapatırsam arka uçta da çıkış yapmalıyım. [code] genel işlev actionLogout() \t { \t \t Yii :: $ app-> user-> logout(); \t \t $ cookies = Yii :: $ app-> response-> cookies; \t \t $ cookies-> remove ('isBackendLogin'); \t \t unset ($ cookies ['isBackendLogin']); \t \t (! Strpos (URL :: akımı(), 'arka uç')) \t \t { \t \t \t // bu \t \t \t dönüş $ yönlendirirseniz this-> redirect_post (Yii :: $ app- > urlManager-> createAbsoluteUrl (['/ backend/user/auth/logout']), []); \t \t} \t \t geri dönüş $ this-> goHome(); \t} [/ code] –