簡體   English   中英

$ this->在Cakephp中重定向顯示空白頁

[英]$this->redirect display blank page in Cakephp

我的代碼是:

public function join_membership() 
{
    $this->layout = 'colorbox';
    $membership_id = $this->Cookie->read('membership_id');
    $membership =  $this->Membership->find('first', array('conditions'=>array('Membership.id'=>$membership_id)));
    $this->set('membership',$membership); 
    if($this->request->is('post'))
    {
        if($this->JoinMembership->save($this->request->data['JoinMembership']))
        {
            $this->redirect(array('action' => 'member_login'));
        }
    }
}

此代碼將數據正確保存在數據庫中,但之后顯示空白頁,它不會重定向到給定的函數。 提前致謝....

如果有人無法告知他們的空格/輸出在哪里(就像我一樣),請將此小塊放在$this->redirect調用之前:

$file = '';
$line = '';
if (headers_sent($file, $line)) {
    die('Output in ' . $file . ' at line ' . $line);
}

它將停止您的控制器動作,並打印出確切的文件和空白/輸出所在的行。

嘗試將以下代碼放入您的if條件中。

$this->redirect(array('controller' => 'Controller_Name', 'action' => 'member_login'));

您也可以嘗試使用某些if condition將內容打印到其中。 還可以使用else部分,並將一些else part打印到else part 在調試模式下檢查它2。

1)member_login操作是否與join_membership位於同一控制器中? 如果否,則將Controller =>“ Some_Controller”鍵值對添加到數組。

2)如果不起作用,請檢查條件是否正常工作

    if($this->JoinMembership->save($this->request->data['JoinMembership']))
            {

                debug("in");exit();

                $this->redirect(array('action' => 'member_login'));
            }
        }

如果if條件返回true,則應該看到“輸入”消息。

請注意,您可以使用

$this->redirect("action_name");
$this->redirect("/controller_name/action_name");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM