Coucou :)
voila j'ai suivi le tutoriel de formulaire de contact avec cakePHP une fois puis une deuxième et enfin une troisième, a chaque fois, j'ai le même problème, je n'arrive pas a accéder au formulaire une fois qu'il est fini, ni en local ni en ligne.
Voila mes codes :
le model Contact.php :
<?php
class Contact extends AppModel {
public $useTable = false;
public $validate = array(
'name' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Vous devez entrer votre nom.'
),
'email' => array(
'rule' => 'email',
'required' => true,
'message' => 'Vous devez entrer un email valide.'
),
'message' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Vous devez entrer un message.'
),
);
public function send($d) {
$this->set($d);
if (this->validates()) {
App::uses('CakeEmail','Network/Email');
$mail = new CakeEmail();
$mail->to('nicolas@groelly.fr')
->from($d'email'])
->subject('Contact :: ')
->emailFormat('html')
->template('contact')
->viewVars($d);
return $mail->send();
} else {
return false;
}
}
}
?>
le controller ContactController.php :
<?php
class ContactController extends AppController {
function index(){
if ($this->request->is('post')) {
if($this->Contact->send($this->request->data'Contact'])){
$this->Session->setFlash('Votre message nous a bien été transmis.');
$this->request->data = array();
} else {
$this->Session->setFlash('Votre message n\'a pas pu etre envoyer.');
}
}
}
}
?>
et la vue index.ctp :
<?php $this->set('title_for_layout','Me contacter'); ?>
<?php echo $this->Form->create('Contact'); ?>
<?php echo $this->Form->input('name',array('label'=>'Nom :')); ?>
<?php echo $this->Form->input('email',array('label'=>'Email :')); ?>
<?php echo $this->Form->input('message',array('label'=>'Votre message :','type'=>'textarea')); ?>
<?php echo $this->Form->end('Envoyer'); ?>
Merci pour votre aide :)
class ContactController extends AppController met un s à Contacts (ContactsController) et aussi le signe $ à $this->validates() dans le model Contact dans la fonction send