cakephp 在url中使用参数进行Cake PHP重定向

hjqgdpho  于 2022-11-11  发布在  PHP
关注(0)|答案(5)|浏览(172)

我要重定向到的页面需要URL中的参数:http://www.example.com/myController/myAction/param1:val1/param2:val2
我知道有一个CakePHP redirect函数用于重定向,其工作原理如下:

$this->redirect(array("controller" => "myController",
                       "action" => "myAction",
                       $data_can_be_passed_here),
                 $status, $exit);

如何使用上面的函数将所需的参数添加到url中?
我想可能还有另一个元素可以添加到数组中,这样我就可以沿着param1:val1param2:val2
如有任何帮助,我们将不胜感激!

f0brbegy

f0brbegy1#

我不知道为什么我在CakePHP文档中找不到这个问题,但我最终找到了解决方案。我在这里发布它,以防其他人遇到同样的问题。(如果有人知道这个问题在文档中的位置,请也发布它,谢谢!)
要重定向到URL:
http://www.example.com/myController/myAction/param1:val1/param2:val2
您可以用途:

$this->redirect(array("controller" => "myController", 
                      "action" => "myAction",
                      "param1" => "val1",
                      "param2" => "val2",
                      $data_can_be_passed_here),
                $status,
                $exit);

希望能有所帮助!

3j86kqsm

3j86kqsm2#

如果你需要使用exactly get参数进行重定向,那么将'?'索引传递给$url数组参数:

$this->redirect(
    array(
          "controller" => "myController", 
          "action" => "myAction",
          "?" => array(
              "param1" => "val1",
              "param2" => "val2"
          ),
          $data_can_be_passed_here
    ),
    $status,
    $exit
);

它重定向到/myController/muAction/...?param1=val1&param2=val2
至少在CakePHP 1.3中是这样的

jecbmhm3

jecbmhm33#

相反,您也可以使用此格式

<?php

$this->redirect('/controller/action/par1:par1/par2:par2/');

?>

<?php

$this->redirect('/controller/action/id/10/name/hello/');

?>
2lpgd968

2lpgd9684#

我通常会这样做:$this->redirect(['action' => 'view', $id, 'admins' => true]);
希望能对你有所帮助。

7ajki6be

7ajki6be5#

CakePHP 4.2 中,"param" => "val1"似乎不再起作用。
这就是你要走的路:

return $this->redirect(['controller'=>'mycontroller','action' => 'myview', 'myparameter']);

相关问题