Jump to content


Photo

Formmail - Ver Se O Código Está Correto


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

#1 oj deotti

oj deotti

    Encare seu medo de frente!

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Campo Grande -MS
  • Interesses:Design, PHP, Games, Esportes, Cinema, Música, Baladas..

Posted 28/04/2004, 14:23

Fala moçada, to terminando o site de um cliente e falta colocar um form pra orçamentos, mas eu ainda so bem fraco em php....daih eu peguei um form pronto do imasters...coloquei os dados mais ou menos como era informado...
agora to passando pra vcs darem uma olhada pra ver se está tudo certo...

html>
<head>
<title>Or&ccedil;amento</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?
//VERIFICA SE TEM ALGUM DADO NO ARRAY
if(sizeof($HTTP_POST_VARS)) {
//PEGA O IP DO USUÁRIO QUE ESTÁ ENVIANDO
$ip = getenv("REMOTE_ADDR");
$texto = "Mensagem enviada pelo IP: $ip<br><br>";

while(list($key, $val) = each($HTTP_POST_VARS)) {
if(($key <> 'para') AND ($key <> 'assunto') AND ($key <> 'retorno'))
$texto.= "<b>$key</b> = $val<br>";
}//FECHA WHILE
//ENVIA UM EMAIL COM OS DADOS ENVIADOS PELO FORMUlÁRIO
$envia = @mail($para,$assunto,$texto,"From:$para Content-Type: text/html; charset=us-ascii");

//REDIRECIONA PARA A PÁGINA DE RESULTADO
header("Location:$retorno");

}//FECHA IF (SIZEOF)



//MOSTRA O FORMULÁRIO PARA PREENCHIMENTO
else {?>

<html>
<body bgcolor='#FFFFFF'>
<div align='center'></div>
<form name='formmail' method='POST' action='<?echo $PHP_SELF;?>'>
<table border=0 cellspacing='0' cellpading='0'>
<tr>
<td>Nome: </td>
<td><input type='text' name='txtnome' size='25'></td>
</tr>

<tr>
<td>Email: </td>
<td><input type='text' name='txtemail' size='20'></td>
</tr>

<tr>
<td>Mensagem: </td>
<td><textarea name='txtmensagem' rows='5' cols='55'></textarea></td>
</tr>

<tr>
<td colspan=2>
<input type='submit' value='Envia FormMail >>'>
<input type='hidden' name='para' value='artprintms@globo.com'>
<input type='hidden' name='assunto' value='Orcamento'>
<input type='hidden' name='retorno' value='http://www.ojdeotti.pop.com.br'></td>
</tr>
</table>
</form>
</body>
</html>
<?} //FECHA ELSE?>


</body>
</html>

valew...

PS: tem alguma hospedagem gratuita pra eu testar isso aih???
Pra quem não me conhecia, esse da foto sou eu!
Odirley Deotti - Jornalista e Desenhista Gráfico
www.ojdeotti.pop.com.br (tah desatualizada mas por enquanto serve)
ojdeotti@brturbo.com


Rebirth
ride the winds of a brand new day
High where mountain's stand
Found my hope and pride again
Rebirth of a man
Time to fly...
Angra

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 28/04/2004, 14:26

Você pode testar em seu próprio computador. Como? Faça uma busca pelo fórum...

Grátis? http://forum.wmonlin...p?showtopic=465
Klaus Paiva
Conheça também: Taperás

#3 oj deotti

oj deotti

    Encare seu medo de frente!

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Campo Grande -MS
  • Interesses:Design, PHP, Games, Esportes, Cinema, Música, Baladas..

Posted 28/04/2004, 15:02

eh, eu testei no easyphp, mas na hora da página de retorno, ele acusa erro na linha 22, que correspode a:
header("Location:$retorno");
Pra quem não me conhecia, esse da foto sou eu!
Odirley Deotti - Jornalista e Desenhista Gráfico
www.ojdeotti.pop.com.br (tah desatualizada mas por enquanto serve)
ojdeotti@brturbo.com


Rebirth
ride the winds of a brand new day
High where mountain's stand
Found my hope and pride again
Rebirth of a man
Time to fly...
Angra

#4 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 28/04/2004, 15:06

Então era a esse ponto que o Klaus queria chegar vc testar e postar o erro pra gente como vc pode ver deu erro no header que são sensiveis e não podem ter saidas para o browser antes dele então faça assim


<?
//VERIFICA SE TEM ALGUM DADO NO ARRAY
if(sizeof($HTTP_POST_VARS)) {
//PEGA O IP DO USUÁRIO QUE ESTÁ ENVIANDO
$ip = getenv("REMOTE_ADDR");
$texto = "Mensagem enviada pelo IP: $ip<br><br>";

while(list($key, $val) = each($HTTP_POST_VARS)) {
if(($key <> 'para') AND ($key <> 'assunto') AND ($key <> 'retorno')) 
$texto.= "<b>$key</b> = $val<br>";
}//FECHA WHILE 
//ENVIA UM EMAIL COM OS DADOS ENVIADOS PELO FORMUlÁRIO
$envia = @mail($para,$assunto,$texto,"From:$para Content-Type: text/html; charset=us-ascii");

//REDIRECIONA PARA A PÁGINA DE RESULTADO
header("Location:$retorno");

}//FECHA IF (SIZEOF) 



//MOSTRA O FORMULÁRIO PARA PREENCHIMENTO
else {?>
<html>
<head>
<title>Or&ccedil;amento</title>
</head> 
<body bgcolor="#FFFFFF" text="#000000">
<div align='center'></div>
<form name='formmail' method='POST' action='<?echo $PHP_SELF;?>'>
<table border=0 cellspacing='0' cellpading='0'>
<tr>
<td>Nome: </td>
<td><input type='text' name='txtnome' size='25'></td>
</tr>

<tr>
<td>Email: </td>
<td><input type='text' name='txtemail' size='20'></td>
</tr>

<tr>
<td>Mensagem: </td>
<td><textarea name='txtmensagem' rows='5' cols='55'></textarea></td>
</tr>

<tr>
<td colspan=2>
<input type='submit' value='Envia FormMail >>'>
<input type='hidden' name='para' value='artprintms@globo.com'>
<input type='hidden' name='assunto' value='Orcamento'>
<input type='hidden' name='retorno' value='http://www.ojdeotti.pop.com.br'></td>
</tr>
</table>
</form>
</body>
</html>
<?} //FECHA ELSE?>

</body>
</html>


Veja que passei todo o html para baixo ou seja não pode ter nada que seja exibidi no codigo fonte antes de vc usar o header então é necessario que vc faça assim então entendeu ??

headers não podem ter saidas para browser pois ele não aceitam

#5 oj deotti

oj deotti

    Encare seu medo de frente!

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Campo Grande -MS
  • Interesses:Design, PHP, Games, Esportes, Cinema, Música, Baladas..

Posted 28/04/2004, 15:28

valew, não sabia desse detalhe...aprender por conta própria eh um caminho longo e trabalhoso hehe.
valew ;)
Pra quem não me conhecia, esse da foto sou eu!
Odirley Deotti - Jornalista e Desenhista Gráfico
www.ojdeotti.pop.com.br (tah desatualizada mas por enquanto serve)
ojdeotti@brturbo.com


Rebirth
ride the winds of a brand new day
High where mountain's stand
Found my hope and pride again
Rebirth of a man
Time to fly...
Angra




2 user(s) are reading this topic

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

IPB Skin By Virteq