Formularios php

Fabriziopt

Power Member
Boas
Estou a usar o seguinte código php para fazer um formulário mas esta me a dar ero na dados email linha 13..
Eu ja tentei modificar mas sem sucesso.
Já agora verifiquem se o resto do código está certo.sff

dados_email.php (segue o código)
CODE
<?php
//Inclua a classe de email.
include("Email.php");
//Crie um array, contendo os nomes das variáveis enviadas pelo flash.
$variaveis = array($nome,$email,$mensagem);
//Crie um array contendo textos que serão exibidos ao lado de cada variável
$nomes = array('Nome: ','Email: ','Mensagem: ');
//Instancie um objeto da classe Email, passando 4 argumentos que são eles:
//Email para onde será enviado
//Assunto do email
//Array contendo as variáveis recebidas
//Array contendo os nomes
$e = new Email('[email protected],'Assunto do Email',$variaveis,$nomes);
//Executando o método sendEmail da classe Email.
$e->sendEmail();
//Pronto seu email já foi enviado
?>


Que puxa esse outro arquivo(Email.php):
CODE
class Email{
var $_to;
var $_subject;
var $_variables;
var $_headers;
var $_names;
var $_message;
function Email($to,$subject,$variables,$names)
{
$this->_to = $to;
$this->_subject = $subject;
$this->_variables = $variables;
$this->_names = $names;
$this->_headers = "MIME-Version: 1.0\r\n";
$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$this->_headers .= "From: EMAIL CONTATO <".$to.">\r\n";
$this->createMessage();
}
function createMessage()
{
$this->_message = '
<html>
<head>
<title>.:: EMAIL DE CONTATO ::.</title>
</head>
<body>
<table>';

for($i=0,$len=sizeof($this->_variables); $i<$len;$i++)
{
$this->_message .= '
<tr>
<td><b>'.$this->_names[$i].'</b> '.$this->_variables[$i].'</td>
</tr>
';
};

$this->_message .= '
</table>
</body>
</html> ';
}
function sendEmail()
{
if($this->_to != '' && $this->_variables != ''){
mail($this->_to, $this->_subject, $this->_message, $this->_headers);
echo 'Enviado.';
}else{
echo 'Erro no envio.';
}
}
};
?>


E por fim, o sendmail.php:
CODE
<?
$nome = $_POST["inputNome"];
$email = $_POST["inputEmail"];
$mensagem = $_POST["inputMensagem"];


# quem recebe
$recipient = "Formulário de contato <[email protected] >";
$recipient1 = "$nome <$email>";

# assunto do e-mail
$subject = " Formulário de contato ";
$subject1 = " Formulário de contato ";

# dados formulario
$dados_formulario .= "
<html>
<head>
<title>..:: Titulo ::..</title>
</head>
<style type='text/css'>
<!--
A:link {text-decoration: none;}
A:visited {text-decoration: none;}
A:hover {text-decoration: nome;}
-->
</style>
<body link='#FF0000' vlink='#FF0000' alink='#FF0000'>
<p align='left'>
<font face='Verdana' size='2' color='#006600'><b> Formulário de contato </b></font><br><br>
<font face='Verdana' size='2' color='#006600'><b>Dados:</u></i></b></font><br><br>
<font face='Verdana' size='2' color='#000000'><b>Nome:</b></font><font face='Verdana' size='2' color='#000000'> $nome</font><br>
<font face='Verdana' size='2' color='#000000'><b>Email:</b></font><font face='Verdana' size='2' color='#000000'> $email</font><br>
<font face='Verdana' size='2' color='#000000'><b>Mensagem:</b></font><font face='Verdana' size='2' color='#000000'> $mensagem</font><br>
</p>
</body>
</html>
";

# mensagem quem envia
$mensagem .= "
<html>
<head>
<title>..:: Titulo ::..</title>
</head>
<body>
<p align='center'>
<font face='Verdana' size='2' color='#006600'><b>$nome</b></font><br><br>
<font face='Verdana' size='2' color='#000000'><b>Obrigado por entrar em contato!</b></font><br>
<font face='Verdana' size='2' color='#000000'><b>Suas informações foram enviadas com sucesso!</b></font><br><br>
<font face='Verdana' size='2' color='#006600'><b> Formulário de contato </b></font>
</p>
</body>
</html>
";

# quem envia
$headers .= "From: $nome <$email>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";

$headers1 .= "From: Cast Comunicação :: Formulário de Contato <[email protected]>\n";
$headers1 .= "Content-Type: text/html; charset=iso-8859-\r\n";

# envia e-mails
mail($recipient, $subject, $dados_formulario, $headers);

mail($recipient1, $subject1, $mensagem, $headers1);

?>

Abraço
 
lool
Mesmo assim nao me aparece o mail na caixa
Vou por aqui mesmo o meu caso em questao

Formulario.html
<form method="post" action="dados_email.php">
Nome:<input type=text name="nome"><br>
Email:<input type=text name="email"><br>
<br>
Assunto:<br>
<input type=radio name="assunto" value="patrocinio">Patrocínio<br>
<input type=radio name="assunto" value="pedidos">Pedir músicas<br>
<input type=radio name="assunto" value="parcerias">Parcerias<br>
<input type=radio name="assunto" value="sujestoes">Sujestões<br><br>
Comentário:<input type=text name="comentario"><br>
<br>
<input type=submit value="Enviar dados">
</form
>

dados-email.php
<?php
//Inclua a classe de email.
include("Email.php");
//Crie um array, contendo os nomes das variáveis enviadas pelo flash.
$variaveis = array($nome,$email,$comentario,$assunto);
//Crie um array contendo textos que serão exibidos ao lado de cada variável
$nomes = array('nome','email','comentario','assunto');
//Instancie um objeto da classe Email, passando 4 argumentos que são eles:
//Email para onde será enviado
//Assunto do email
//Array contendo as variáveis recebidas
//Array contendo os nomes
$e = new Email('[email protected]','Assunto do Email',$variaveis,$nomes);
//Executando o método sendEmail da classe Email.
$e->sendEmail();
//Pronto seu email já foi enviado
?>
Email.php
<?php
class Email{
var $_to;
var $_subject;
var $_variables;
var $_headers;
var $_names;
var $_message;
function Email($to,$subject,$variables,$names)
{
$this->_to = $to;
$this->_subject = $subject;
$this->_variables = $variables;
$this->_names = $names;
$this->_headers = "MIME-Version: 1.0\r\n";
$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$this->_headers .= "From: EMAIL CONTATO <".$to.">\r\n";
$this->createMessage();
}
function createMessage()
{
$this->_message = '
<html>
<head>
<title>.:: EMAIL DE CONTACTO ::.</title>
</head>
<body>
<table>';

for($i=0,$len=sizeof($this->_variables); $i<$len;$i++)
{
$this->_message .= '
<tr>
<td><b>'.$this->_names[$i].'</b> '.$this->_variables[$i].'</td>
</tr>
';
};

$this->_message .= '
</table>
</body>
</html> ';
}
function sendEmail()
{
if($this->_to != '' && $this->_variables != ''){
mail($this->_to, $this->_subject, $this->_message, $this->_headers);
echo 'Enviado.';
}else{
echo 'Erro no envio.';
}
}
};
?>

A mensagem aparece como enviada mas chego a caixa e nada..
Obrigado pela a ajuda
Abaço
 
Experimenta lá a meter só este código para testar:

$para = "mete aqui o teu endereço de email";
$assunto="assunto";
$msg= "teste email";
$de= "[email protected]";

$sucesso = mail($para, $assunto, $msg, $de);

if ($sucesso) {
echo "enviada com sucesso";
}
else {
echo "Ocorreu um erro !";
}

De seguida vai ver se o email chegou.
 
Última edição:
Certifica-te de que não está a ir para a caixa do SPAM (Lixo Electrónico).

Já agora, mais uma vez volto a repetir, usa as tags [php] e [/php] em volta do código! É terrível ter de ler as coisas assim.
 
Back
Topo