重定向cakephp表单中的页面后,无法访问GET data

重定向cakephp表单中的页面后,无法访问GET data,cakephp,redirect,parameters,get,Cakephp,Redirect,Parameters,Get,我是cakephp新手,正在尝试保存数据。基本上,我是在url中传递安全密钥的表单中保存数据。此密钥将传递给表单,如果表单成功提交,则会将其重定向到具有该密钥的同一页面。如果两个键匹配(重定向中使用的键和POST键),则再次显示表单,否则重定向到另一个错误页面 function add($key=""){ $this->key = $key; if(empty($this->data)){ //check key for first time pag

我是cakephp新手,正在尝试保存数据。基本上,我是在url中传递安全密钥的表单中保存数据。此密钥将传递给表单,如果表单成功提交,则会将其重定向到具有该密钥的同一页面。如果两个键匹配(重定向中使用的键和
POS
T键),则再次显示表单,否则重定向到另一个错误页面

function add($key=""){

    $this->key = $key;
    if(empty($this->data)){
        //check key for first time page load
        if ($key != 'mykey') {
            $this->redirect(array('controller' => 'pages', 'action' => 'display'));
            exit();
        } else {
            $this->set("key", $this->key);
        }

    }
    if (!empty($this->data)) {
        //Check Key after form submission
        if($this->data["GalLocations"]["key"] != $this->key){
            $this->redirect(array('controller' => 'pages', 'action' => 'display'));
            exit();
        } else {
            $this->set("key", $this->key);

            $this->GalLocation->create();
            if($this->GalLocation->save($this->data)){
                $this->Session->setFlash("Location added successfully");    
                $this->redirect(array("controller" => "gal_locations", "action" => "add", "mykey"));
                exit();
            }
        }   
    }
}   
但是如果($this->data[“GalLocations”][“key”!=$this->key)总是失败,即
$this->key
为空!怎么了?为什么它总是空的


注意:我正在重定向,因为我需要在提交页面后从URL隐藏密钥

使用$key,不能为$this->key赋值

Remove $this->key = $key;
if($this->data["GalLocations"]["key"] != $key)

我不完全确定我是否遵循了逻辑,但这可能无关紧要。请确认,每个步骤的URL是什么样子的?URL:
http://localhost/main/gal_locations/add/mykey
能否在视图中粘贴创建表单的部分?$this->重定向(数组(“控制器”=>“gal_位置”,“操作”=>“添加/$key”);并删除重定向行后的退出不应该是
$this->redirect(数组('controller'=>'gal_locations','action'=>'add',$key))