2015-09-16 6 views
5

मेरे पुन: निर्देश:विधि पोस्ट के साथ पुनर्निर्देशन

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

लेकिन लॉगआउट पद डेटा-विधि की आवश्यकता है।

क्या इस पृष्ठ पर रीडायरेक्ट करने का कोई तरीका है?

+1

शिकार: http://stackoverflow.com/questions/5576619/php-redirect-with-post-data –

उत्तर

0

आप लॉगआउट पृष्ठ पर छिपा क्षेत्रों का उपयोग, और जब उपयोगकर्ता किसी वेबपृष्ठ हिट प्रपत्र स्वत: कुछ जावास्क्रिप्ट के साथ प्रस्तुत कर सकते हैं।

संपादित करें: बस एक ढांचे के टैग को देखा। सागेथ ने आपके ढांचे के लिए जवाब दिया।

0

आप redirect साथ पैरामीटर भेजने यदि आप url सरणी पैरामीटर जोड़ सकते हैं।

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

आपका उदाहरण में, कुंजी और anotherPostKey GET विधि द्वारा भेजा जाएगा –

+0

ओह, मैं देख रहा हूँ। ऐसा लगता है कि Yii2 पोस्ट के साथ रीडायरेक्ट नहीं कर सकता है, लेकिन यदि आप उपयोगकर्ता सत्र के साथ डेटा स्टोर करना चाहते हैं तो आपके पास उपयोगकर्ता वैश्विक चर है। आप इसके बारे में अधिक जानकारी चाहते हैं? – Sageth

+0

हां, कृपया। मेरी समस्या यह है कि मेरे पास फ्रंटेंड और बैकएंड के लिए दो अलग सत्र हैं। अगर मैं फ्रंटेंड में लॉगआउट करता हूं तो मुझे बैकएंड में भी लॉगआउट करना होगा। [कोड] सार्वजनिक कार्य कार्रवाई लॉगआउट() \t { \t \t वाईआई :: $ ऐप-> उपयोगकर्ता-> लॉगआउट(); \t \t $ कुकीज़ = Yii :: $ app-> प्रतिक्रिया> कुकीज़; \t \t $ कुकीज़-> हटाएं ('isBackendLogin'); \t \t अनसेट ($ कुकीज़ ['isBackendLogin']); \t \t if (! Strpos (यूआरएल :: वर्तमान(), 'बैकएंड')) \t \t { \t \t \t // इस \t \t \t वापसी $ अनुप्रेषित इस-> redirect_post (Yii :: $ app- > urlManager-> createAbsoluteUrl (['/ बैकएंड/उपयोगकर्ता/ऑथ/लॉगआउट']), []); \t \t} \t \t $ 2-> goHome(); \t} [/ कोड] –

संबंधित मुद्दे