Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP:重定向无法正常工作_Php_Cakephp - Fatal编程技术网

CakePHP:重定向无法正常工作

CakePHP:重定向无法正常工作,php,cakephp,Php,Cakephp,因此,我有一个cakephp3中的项目和一个具有多个功能的控制器,除了一个之外,所有这些功能都可以很好地使用return$this->redirect('/') 我的UserController也有这个问题,它有一个登录和注册方法,当我在注册后尝试重定向时,它不起作用 我不知道为什么只有这个特殊的函数不起作用。我尝试过其他重定向方法,比如$this->redirect(数组('controller'=>'user','action'=>'index') 代码: $values = get_obj

因此,我有一个cakephp3中的项目和一个具有多个功能的控制器,除了一个之外,所有这些功能都可以很好地使用
return$this->redirect('/')

我的UserController也有这个问题,它有一个登录和注册方法,当我在注册后尝试重定向时,它不起作用

我不知道为什么只有这个特殊的函数不起作用。我尝试过其他重定向方法,比如
$this->redirect(数组('controller'=>'user','action'=>'index')

代码:

$values = get_object_vars(json_decode($response->body));

        if (isset($values['error_description'])) {
          $this->Flash->error(__($values['error_description']));
        } else {
            $response = $http->post($this->Api->getExecutionCreationLocation(), [
                'experiment_id' => $values['id'],
                'computational_model_id' => '2',
                'inputs' => json_encode($inputs)
            ],[
              'headers' => [
                'Content-Type' => 'application/x-www-form-urlencoded',
                'Authorization' => "Bearer ".$this->OAuth->getToken(),
              ]
            ]);

            $values = get_object_vars(json_decode($response->body));

            if (isset($values['error_description'])) {
                $this->Flash->error(__($values['error_description']));
            } else {  
              $this->Flash->error(__("Experiment created."));
              return $this->redirect('/');
            } 
    }
谢谢你的帮助

编辑

使用以下方法解决此问题:

 if (!headers_sent($file, $line)) {
     header('Location: /index');
     exit("headers: {$file}, line number: {$line}");
     } else {
       echo  "Cannot redirect";
       exit;
     }

我不知道这是否正确,但它正在工作。

您没有共享您的代码,请检查任何
错误,在重定向之前打印()、调试()或pr()
。抱歉,已编辑它。所以代码稍微长了一点,但这是主要部分。你能在你的条件中显示一些东西吗?如果有,或者只是打印
$values['error\u description']
是的,我可以,
$this->Flash->error(uuuu(“实验创建”)始终按预期工作,并且echo/print\r在条件内工作正常发送重定向请求头之前是否输出任何内容?如果您没有共享代码,请检查重定向之前是否打印了任何
错误、print()、debug()或pr()
。很抱歉,已对其进行了编辑。所以代码稍微长了一点,但这是主要部分。你能在你的条件中显示一些东西吗?如果有,或者只是打印
$values['error\u description']
是的,我可以,
$this->Flash->error(uuuu(“实验创建”)始终按预期工作,并且echo/print\r在条件内工作正常发送重定向请求头之前是否输出任何内容?