[英]$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.