strpos()期望参数1是字符串,当我被重定向到Yii中的控制器时

gcmastyq  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(137)

我有一个错误,当我试图重定向到Yii中的控制器.

strpos() expects parameter 1 to be string, array given

if(!$error)
{
   \Yii::app()->request->redirect(array('site/nch1'));
}else{
   \Yii::app()->request->redirect(array('document/result'));
}

更新:我想重定向页面到控制器/行动。

piah890a

piah890a1#

重定向有两种方法,上面的答案把它们弄混了。

Yii::app()->request->redirect('/actual/url/path.html');

Yii::app()->controller->redirect(['controller/action']);
$this->redirect(['controller/action']);

CHttpRequest方法只接受url路径。它必须是存在的url。
CController方法将接受一个数组并生成url本身。
根据上下文,您有时可以使用$this->redirect($route);调用CController重定向方法,例如在控制器或视图文件中。

643ylb08

643ylb082#

你需要传递一个字符串,而不是一个数组,试试这个:

if(!$error)
{
   \Yii::app()->request->redirect('site/nch1');
}else{
   \Yii::app()->request->redirect('document/result');
}

相关问题