Php 使用方法post重定向
我的重定向:Php 使用方法post重定向,php,yii2,Php,Yii2,我的重定向: public function actionLogout() { Yii::$app->user->logout(); $cookies = Yii::$app->response->cookies; $cookies->remove('isBackendLogin'); unset($cookies['isBackendLogin']); if ( !strpos(Url::current(), 'back
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();
}
但注销需要post数据方法
有没有办法重定向到此页面?您可以在注销页面上使用隐藏字段,并在用户点击该页面时使用一些javascript自动提交表单 编辑:
刚看到一个框架的标签。Sagesh为您的框架提供了一个答案。如果向
url
数组添加参数,则可以通过传递参数
return $this->redirect(['/backend/user/auth/logout',
'key' => 'value',
'anotherPostKey' => 'anotherPostValue',
]);
实现这一目标有两种选择
或
dupe:在您的示例中,key和另一个postkey将通过GET方法发送哦,我明白了。Yii2似乎无法使用POST重定向,但如果您想在用户会话中存储数据,则有一个users全局变量。你想要更多的信息吗?是的,请。我的问题是前端和后端有两个单独的会话。如果我在前端注销,我也必须在后端注销。[code]公共函数actionLogout(){Yii::$app->user->logout();$cookies=Yii:$app->response->cookies;$cookies->remove('isBackendLogin');unset($cookies['isBackendLogin']);if(!strpos(Url::current(),'backend'){//重定向此返回值$this->重定向发布(Yii:$app->urlManager->createAbsoluteUrl(['/backend/user/auth/logout'],[]);}返回$this->goHome();}[/code]用此代码编辑您的原始问题,以找到更好的答案:D