Erro No Envio De Formulario Em Html
#1
Posted 14/04/2010, 12:04
Estou com problemas no envio do meu formulário.
O e-mail é enviado corretamente só que a mensagem em vez de ir em html, está indo so o texto tipo:
<html> <head> <title></title> </head> <body> <p> <? echo "$nome"; ?> Edite aqui com o seu código</p> </body> </html>
Meu código parece estar tudo correto, segue abaixo:
<?php
include( '/home/vipagora/ultramail/ultramail.php' );
session_start("admin");
if($_SESSION["admin"] == "on"){
include("../config.php");
if ( isset( $_POST ) )
$postArray = &$_POST ; // 4.1.0 or later, use $_POST
else
$postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS
foreach ( $postArray as $sForm => $value )
{
if ( get_magic_quotes_gpc() )
$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
else
$postedValue = htmlspecialchars( $value ) ;
}
$msg_para = $_POST["msg_para"];
$msg_assunto = $_POST["msg_assunto"];
$msg_tipo = $_POST["msg_tipo"];
$mensagem = $postedValue;
if($msg_para == "todos"){
$sql = mysql_query("SELECT * FROM n_emails WHERE ativo = 's'");
$total = mysql_num_rows($sql);
$mailok = 0;
$falha = 0;
while($lista = mysql_fetch_array($sql)){
$nome = $lista["nome"];
$email = $lista["email"];
$cabecalho = '';
$cabecalho .= "MIME-Version: 1.0\r\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "From: $a_nome <$a_email>";
$cabecalho .= "\nReply-To: $a_nome <$a_email>";
if(UltraMail($email,$msg_assunto,$mensagem, $cabecalho )){
$mailok = $mailok + 1;
$msg = "<font color=green>SUCESSO!</font>";
}
else{
$falha = $falha + 1;
$msg = "<font color=red>FALHA!</font>";
}
?>
<font face="Arial" size="2">Enviando para <b><?=$email?></b>...
<b><?=$msg?></b></font><br>
<?php } ?>
<script>alert("<?=$total?> e-mails deveriam ser enviados...\n<?=$mailok?> foram mandados corretamente,\n<?=$falha?> falharam!\n")</script>
<?php
}
else{
$cabecalho = '';
$cabecalho .= "MIME-Version: 1.0\r\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "From: $a_nome <$a_email>";
$cabecalho .= "\nReply-To: $a_nome <$a_email>";
if( UltraMail($msg_para,$msg_assunto,$mensagem, $cabecalho ) == TRUE ){
$msg = "<font color=green>SUCESSO!</font>";
}
else{
$msg = "<font color=red>FALHA!</font>";
}
?>
<font face="Arial" size="2">Enviando para <b><?=$msg_para?></b>...
<b><?=$msg?></b></font><br><?php
}
}
else{
echo "<script>location.href='login.php'</script>";
}
?>
<p><font face="Arial" size="2"><a href="index.php">Voltar</a></font></p>
<p align="right"><font size="1" face="Arial">Produzido por <a href="http://www.clenissonweb.kit.net" target="_blank">Clenisson
Calaça</a>.</font></p>
Aguardo um retorno, Abraço!
#2
Posted 14/04/2010, 13:05
Olá...
Estou com problemas no envio do meu formulário.
O e-mail é enviado corretamente só que a mensagem em vez de ir em html, está indo so o texto tipo:
<html> <head> <title></title> </head> <body> <p> <? echo "$nome"; ?> Edite aqui com o seu código</p> </body> </html>
Meu código parece estar tudo correto, segue abaixo:
<?php
include( '/home/vipagora/ultramail/ultramail.php' );
session_start("admin");
if($_SESSION["admin"] == "on"){
include("../config.php");
if ( isset( $_POST ) )
$postArray = &$_POST ; // 4.1.0 or later, use $_POST
else
$postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS
foreach ( $postArray as $sForm => $value )
{
if ( get_magic_quotes_gpc() )
$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
else
$postedValue = htmlspecialchars( $value ) ;
}
$msg_para = $_POST["msg_para"];
$msg_assunto = $_POST["msg_assunto"];
$msg_tipo = $_POST["msg_tipo"];
$mensagem = $postedValue;
if($msg_para == "todos"){
$sql = mysql_query("SELECT * FROM n_emails WHERE ativo = 's'");
$total = mysql_num_rows($sql);
$mailok = 0;
$falha = 0;
while($lista = mysql_fetch_array($sql)){
$nome = $lista["nome"];
$email = $lista["email"];
$cabecalho = '';
$cabecalho .= "MIME-Version: 1.0\r\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "From: $a_nome <$a_email>";
$cabecalho .= "\nReply-To: $a_nome <$a_email>";
if(UltraMail($email,$msg_assunto,$mensagem, $cabecalho )){
$mailok = $mailok + 1;
$msg = "<font color=green>SUCESSO!</font>";
}
else{
$falha = $falha + 1;
$msg = "<font color=red>FALHA!</font>";
}
?>
<font face="Arial" size="2">Enviando para <b><?=$email?></b>...
<b><?=$msg?></b></font><br>
<?php } ?>
<script>alert("<?=$total?> e-mails deveriam ser enviados...\n<?=$mailok?> foram mandados corretamente,\n<?=$falha?> falharam!\n")</script>
<?php
}
else{
$cabecalho = '';
$cabecalho .= "MIME-Version: 1.0\r\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "From: $a_nome <$a_email>";
$cabecalho .= "\nReply-To: $a_nome <$a_email>";
if( UltraMail($msg_para,$msg_assunto,$mensagem, $cabecalho ) == TRUE ){
$msg = "<font color=green>SUCESSO!</font>";
}
else{
$msg = "<font color=red>FALHA!</font>";
}
?>
<font face="Arial" size="2">Enviando para <b><?=$msg_para?></b>...
<b><?=$msg?></b></font><br><?php
}
}
else{
echo "<script>location.href='login.php'</script>";
}
?>
<p><font face="Arial" size="2"><a href="index.php">Voltar</a></font></p>
<p align="right"><font size="1" face="Arial">Produzido por <a href="http://www.clenissonweb.kit.net" target="_blank">Clenisson
Calaça</a>.</font></p>
Aguardo um retorno, Abraço!
Olá amigo, tenta adicionar um cabecalho no envio do seu email. Ai os camando HTMl devem funcionar. Abaixo segue um exemplo simples :
$nome = $_POST['nome']; $fone = $_POST['fone']; $email = $_POST['email']; $ass = $_POST['ass']; $men = $_POST['men']; $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: Texto <email@site.com.br>\n"; $headers .= "Return-Path: texto <contato@site.com.br>\n"; //envia email $mail_a = mail($email, "Titulo","Obrigado por entrar em contato conosco.<br><br> Em breve iremos entrar em contato. <br><br> www.teste.com.br",$headers);
#3
Posted 14/04/2010, 14:21
$cabecalho .= "MIME-Version: 1.0\r\n";
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "From: $a_nome <$a_email>";
$cabecalho .= "\nReply-To: $a_nome <$a_email>";
Mas mesmo assim ele não está indo como HTML, será que tem algum problema no comando:
if ( isset( $_POST ) )
$postArray = &$_POST ; // 4.1.0 or later, use $_POST
else
$postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS
foreach ( $postArray as $sForm => $value )
{
if ( get_magic_quotes_gpc() )
$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
else
$postedValue = htmlspecialchars( $value ) ;
}
Que pega os dados da edição e joga pro campo mensagem?
#4
Posted 16/04/2010, 20:05
Eu baixei este código de formulário de contato seu, eu gostaria de saber se pode resolver este problema que tah retornando
"Favor preencher os dados corretamente"
<!--DWLayoutTable--> <TBODY> <TR> <TD width=67 height=44> </TD> <TD width=183></TD> <TD width=78></TD> </TR> <?php if (!$nome || !$email || !$assunto || !$mensagem) { echo "<DIV align=center><p align=center><font face=Verdana, Arial size=2 color=#FF9933>Favor preencher os dados corretamente!<br>"; echo "<a href=\"javascript:history.back(1)\">Voltar</a>"; }else{ echo " <tr> <TD height=22 colspan=3> <p align=center><font face=Verdana size=1>Olá <font color=#FF0000><b>$nome</b></font>,</font> </TD> </tr> <TR> <TD height=22 colspan=3> <p align=center><font face=Verdana size=1>as informações foram enviadas com sucesso!</font> </TD> </TR> <tr> <TD height=22> </TD> <TD></TD> <TD></TD> </tr> <TR> <TD height=23 colspan=3> <p align=center><font face=Verdana size=1>No máximo 48 horas entraremos em contato.</font> </TD> </TR> <tr> <TD height=23 colspan=3> <p align=center><font face=Verdana size=1>Atenciosamente!</font> </TD> </tr>"; $mens = "<font size=2 face=Verdana><p align=center>:: Sistema de formulário ::<br><br></p></font>"; $mens .= "<font size=1 face=Verdana><b>Nome:</b> $nome</font><br><br>"; $mens .= "<font size=1 face=Verdana><b>E-mail:</b> $email</font><br>"; $mens .= "<font size=1 face=Verdana><b>Assunto:</b> $assunto</font><br>"; $mens .= "<font size=1 face=Verdana><b>Mensagem:</b> $mensagem</font><br><br>"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: 'Formulário'\r\n"; mail("contato@esportecoxim.com.br","Formulário de contato","$mens", $headers); echo " <TR> <TD height=13> </TD> <TD></TD> <TD></TD> </TR> <TR> <TD height=12></TD> <TD valign=top><div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=index.htm>Voltar</a></font></div></TD> <TD></TD> </TR>"; } ?>
Não está faltando uma condição ali no if???
Ow Halan desculpa te incomodar cara, mas eu vi o que faltava na verdade era o
$nome = $_POST['nome']; $email = $_POST['email']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; //antes do if
Só que ele agora informa que enviou o email, no entanto não está enviando não.
Cara gostei muito do visual do formulário e tals, tava qrndo mesmo implantá-lo em meu site, tem como dar este help ae?
E sobre seu script de limitar os 300 envios por dia, como eu sou muito novo em PHP não consigo te ajudar.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)