Php Yii语言控制使用行为如何防止表单重新提交对话框
我用这个教程来改变语言。但我遇到了一个问题,$_Post['lang']变量没有被重置,每次我尝试刷新页面时,它都会给我一个表单重新提交对话框,我不希望出现这个对话框。但我不知道在哪里以及如何使用重定向,因为它在Behaiour类中不起作用。如何防止此表单重新提交 编辑:我发现了一个丑陋的解决方案,将此代码放在我拥有的每个视图文件中Php Yii语言控制使用行为如何防止表单重新提交对话框,php,session,post,yii,lang,Php,Session,Post,Yii,Lang,我用这个教程来改变语言。但我遇到了一个问题,$_Post['lang']变量没有被重置,每次我尝试刷新页面时,它都会给我一个表单重新提交对话框,我不希望出现这个对话框。但我不知道在哪里以及如何使用重定向,因为它在Behaiour类中不起作用。如何防止此表单重新提交 编辑:我发现了一个丑陋的解决方案,将此代码放在我拥有的每个视图文件中 <?php $this->renderPartial('//lang/_refresh', array()) ?> 但它需要大量重复相同的代码,
<?php
$this->renderPartial('//lang/_refresh', array())
?>
但它需要大量重复相同的代码,我相信有更好的解决方案可能是将刷新功能放在正确的位置。找到了一个解决方案,您只需向组件/控制器添加一个beforeAction,因为所有添加的控制器都扩展了它。问题是我不知道。这是一个可以工作的函数,这样我就不必重写代码了
protected function beforeAction()
{
if (isset($_POST['lang'])) {
$this->refresh();
}
return true;
}