[Resolvido] Envio de formulário com CakePHP
Olá pessoal. Vou diretamente ao assunto... Possuo um site feito com cakePHP (não foi eu quem fiz, mas digamos que fui deixado na mão). O site possui uma página de contato com um formulário, no qual ele puxa da o valor dos campos informados em um formulário na home page, até ai tudo bem funciona tranquilamente, porem ele não envia os dados para o e-mail.. Não envia dados nenhum, o formulário simplesmente não chega para o e-mail que recebe. Pior é que não sei nada de cakePHP, não sei se utiliza painel, nada.. Poderiam me ajudar?
controllers/contacts_controller.php
// app/controllers/contacts_controller.php
<?php
class ContactsController extends AppController {
var $name = 'br/Contacts';
var $uses = '';
var $components = array('Email');
function index()
{
if(isset($this->data))
{
$name = $this->data['Contact']['primeiroNome'] . '' . $this->data['Contact']['sobreNome'];
$from = $this->data['Contact']['email'];
$subject = 'Contato do Site';
$msg = $this->data['Contact']['msg'];
$this->Email->sendAs = 'both'; // html, text, both
$this->set('conteudo', $msg); // especifica variavel da mensagem para o template
$this->Email->layout = 'Contact"; // views/elements/email/html/default.ctp
$this->Email->template = 'Contact";
// set view variables as normal
$this->set('from', $name);
$this->set('msg', $msg);
$this->Email->to = ' email@provedor.com.br Este e-mail está sendo protegido dos spam bots, você precisa ter o JavaScript habilitado para vê-lo ';
$this->Email->subject = $subject;
$this->Email->replyTo = ' email@provedor.com.br Este e-mail está sendo protegido dos spam bots, você precisa ter o JavaScript habilitado para vê-lo ';
$this->Email->from = $name . '<' . $from .'>';
if ( $this->Email->send($msg) ) {
$this->Session->setFlash('E-mail enviado');
} else {
$this->Session->setFlash('E-mail nao enviado');
}
$this->redirect('/');
}
}
}
?>
views/br/contato.ctp
<p>
<?php
echo 'De: '.$contato['nome'];
echo 'Email: '.$contato['email'].'<br/>';
echo 'Tel.: '.$contato['telefone'].'<br/>';
?>
</p>
<p>
<?php
echo 'Mensagem: '.$contato['mensagem'].'<br/>'; // Essas informações são puxadas da home page
echo 'Entrada: '.$contato['dataentrada'];
echo ' Saída: '.$contato['datasaida'].'<br/>';
echo 'Hóspedes: '.$contato['numadultos'].' adultos, e '.$contato['numcriancas'].' crianças.';
?>
</p>
controllers/br_controller.php
<?php
class BrController extends AppController {
var $name = 'Br';
var $uses = array();
var $helpers = array('Html', 'Javascript');
var $components = array('Email');
function index(){
$this->layout = 'default_br';
$this->set('title_for_layout', 'Bem-vindo');
//$this->redirect('/');
}
function contatos(){
$this->layout = 'clean_br';
$this->set('title_for_layout', 'Contatos');
if($this->data & $this->data['etapa'] != 1){
$contato = $this->data;
//print_r($contato);
$this->set('contato', $contato);
$this->Email->to = 'email@provedor.com.br';
$this->Email->cc = 'email@provedor.com.br';
$this->Email->subject = 'Contato';
$this->Email->from = 'email@provedor.com.br';
$this->Email->template = 'contato';
$this->Email->sendAs = 'html';
if($this->Email->send()){
$this->set('mensagem', '<div class="sucesso"><h2>Obrigado pelo seu contato, '.$contato['nome']
.'<br/>Em breve responderemos a sua mensagem.</h2></div>');
}else{
$this->set('<div class="erro"><h2>mensagem', 'Desculpe, '.$contato['nome'].', houve uma pequena falha
em nosso sistema que impediu o envio de sua mensagem. Pedimos que tente novamente dentro
de alguns minutos.</h2></div>');
}
}
}
?>
controller/contatos_controller
<?php
class ContatosController extends AppController {
var $name = 'Contatos';
var $uses = array();
var $helpers = array('Javascript');
function index(){
$this->layout = 'clean';
}
}
?>
modulos/contato.php
<?php
class contatos extends AppModel
{
var $name = 'contatos';
var $useTable = true;
}
?>
Eu acho, não tenho certeza, que esses são os arquivos, qualquer coisa vocês que tem o conhecimento, me informem que eu procuro.
Grato desde já.
Discussão (2)
Carregando comentários...