我試圖在cakephp中的窗體中發送一封電子郵件,說'郵件已發送'。電子郵件發送成功的收件人,但然後它進入一個空白的屏幕,並沒有顯示的消息,表明該消息已發送。我已檢查控制器中的php標籤之前和之後的空間,似乎並不是problem.IT正常工作在我的本地和顯示的消息,但沒有對server.I將把我的控制器代碼我的網頁在提交表單時重定向到空白屏幕
public function contact() {
$email = new CakeEmail();
if ($this->request->is('post')) {
$this->Contact->set($this->request->data);
if ($this->Contact->save($this->request->data)) {
//$this->Project->set($this->data)
$name = $this->request->data['Contact']['name'];
$mail = $this->request->data['Contact']['email'];
$email->from(array($mail => $name));
$email->to('[email protected]');
if (isset($this->request->data['Contact']['contacttime'])) {
$ctime = implode(',', $this->request->data['Contact']['contacttime']);
}
$message = "Phone No : ".$this->request->data['Contact']['phone']."\n\nBest Contact time :".$ctime." \n\nMessage : ".$this->request->data['Contact']['description'];
$email->subject('BlackNova Website Contact Form Message');
//$email->send($message);
//$success =1;
//$email->send($this->request->data['Contact']['phone']);
//pr($message);
if ($email->send($message)) {
$this->Session->setFlash('Mail sent successfully');
$this->redirect(array('controller' => 'BlockContents', 'action' => 'contact'));
//pr($success);
}
}
}
}
有一個contact.ctp
<div id="formcontainer_left">
<?php echo $this->Form->create('Contact'); ?>
<div class="inputbox1"><?php echo $this->Form->input('name');?></div><br>
<div class="inputbox2"><?php echo $this->Form->input('email'); ?></div><br>
<div class="inputbox3"><?php echo $this->Form->input('phone');?></div><br>
</div>
<div id="formcontainer_right">
<div id="me"><?php echo $this->Form->input('description');?>
</div>
<?php echo $this->Form->submit('SUBMIT');?>
</div>
<div id="formcontainer_xright">
<div class="formcontainer_last"> BEST TIME TO CONTACT* </div>
<div id="chkbox">
<?php echo $this->Form->input('contacttime',array('label'=>false,'type'=>'select','class'=>'checkdiv','multiple'=>'checkbox','options'=>array('Before work' =>'Before work','During work'=>'During work','After work'=>'After work'),'escape'=>false)) ;?>
</div>
</div>
<?php echo $this->Form->end(); ?>
<div class="contactformbottom">
</div>
</div>
<div id="formcontainer2">
<p> <?php echo $this->Session->flash();?></p>
可能有人請幫我找出爲什麼它只發生在srver而不是本地主機上?
conf上的調試值在localhost和服務器上是一樣的嗎? – Nunser
是的,它被設置爲config:在本地主機和服務器上寫入('debug',2) – Leah
調試> 0的空白屏幕意味着有錯誤(並且cake不會自動重定向)。嘗試將調試設置爲3,看看是否有東西出現在白色屏幕上。否則,將其設置爲0,並且應該繞過空白屏幕。您的BlockContents控制器中的聯繫動作是?如果是這樣,爲什麼在閃光信息後重定向,如果它是相同的屏幕?當你評論重定向時會發生什麼? – Nunser