Cakephp のフォームからメールを送信する際に、「メールが送信されました」というフラッシュ メッセージを表示しようとしています。電子メールは受信者に正常に送信されますが、空白の画面になり、メッセージが送信されたことを示すフラッシュ メッセージが表示されません。コントローラの PHP タグの前後にスペースがないか確認しましたが、そうではないようです問題になる.ITはローカルホストで正常に動作し、サーバーではなくメッセージを表示します.コントローラーコードを配置します
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('sales@blacknova.com.au');
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>
ローカルホストではなくサーバーでのみ発生する理由を誰かが見つけてくれませんか?