Jump to content


Photo

Erro No Envio De Formulario Em Html


  • Faça o login para participar
3 replies to this topic

#1 Halan Batista

Halan Batista

    Turista

  • Usuários
  • 32 posts
  • Sexo:Não informado

Posted 14/04/2010, 12:04

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> &lt;? echo &quot;$nome&quot;; ?&gt; Edite aqui com o seu c&oacute;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 mhbs

mhbs

    Turista

  • Usuários
  • 33 posts
  • Sexo:Masculino
  • Localidade:Curitiba -Paraná
  • Interesses:Geral

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> &lt;? echo &quot;$nome&quot;; ?&gt; Edite aqui com o seu c&oacute;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);

Marcos H. B. Santos
Analista de Sistemas -
www.xna.com.br

#3 Halan Batista

Halan Batista

    Turista

  • Usuários
  • 32 posts
  • Sexo:Não informado

Posted 14/04/2010, 14:21

Mas eu já estou usando um cabeçalho pra reconhecer HTML, mas não está reconhecendo... Olha soh o cabeçalho que estou usando:

$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 Allan Jones

Allan Jones

    Turista

  • Usuários
  • 57 posts
  • Sexo:Masculino
  • Localidade:Coxim-MS

Posted 16/04/2010, 20:05

Fala Halan...
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.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq