View Full Version : Ai os formulários


Fabriziopt
07-09-2007, 17:05
Boas
Ando as voltas com os formulários há nao sei quanto tempo...Este diz que envia mas nem no lixo electronico aparece.Já ouvi dizer que pode ser de o meu hosting nao ser da mesma empresa que o mail :/
Mas se me pudessem responder agradecia
O meu código é..

Form.php
<form method="post" action="Form1.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
>


Form1:
<?php
//Inclua a classe de email.
include("Form2.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('radio.beta@hotmail.com','Assunto do Email',$variaveis,$nomes);
//Executando o método sendEmail da classe Email.
$e->sendEmail();
//Pronto seu email já foi enviado
?>


Form2
<?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.';
}
}
};
?>


Gostaria que tivessem a paciencia para me ajudar neste caso ;)
Abraço :)

maningreen
08-09-2007, 17:39
O script envia se executares no teu servidor (o que tens instalado para desenvolvimento)? E qual é o server que usas?

CMPT
09-09-2007, 21:25
Registeime so pra responder neste post LOLOLOL

Levei meses de peskisa ate ke conseguisse enviar um email, xeguei a conclusao ke tem a ver com o sitio onde o site esta alojado, no meu servidor nao conseguia e alojado em otro servidor pago onde ja funcionava bem, aki tens um exemplo de uma so pagina espero ke de uma ajudinha... :)


<?php
if(isset($_POST['sendmail']))
{
$nome = $_POST['nome'];
$mail = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

//////email pra kem vai ser enviado
$to = "$mail";

////////assunto
$subject = "$assunto";

// mensagem
$message = "
<html>
<head>
<title>envio email</title>
</head>

<body>
" . $mensagem . "
</body>
</html>
";

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$headers .= "To: " . $nome ." <" . $mail . ">" . "\r\n";
$headers .= 'From: De alguem <o-teu@mail.pt>' . "\r\n";
$headers .= 'Cc: pra-outro@mail.pt' . "\r\n";

mail($to, $subject, $message, $headers);
}

echo"
<form action='#' method='post'>
nome:<input type='text' name='nome' /><br />
email:<input type='text' name='email' /> <br />
assunto:<input type='text' name='assunto' /><br />
mensagem:<br /><textarea name='mensagem' rows='10' cols='50'></textarea><br />
<input type='submit' value='enviar' name='sendmail' />
</form>
";
?>