Jump to content


Photo

Tutorial - Envio De Formulário


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

#1 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 03/09/2003, 18:49

Bem, um formulário seria uma forma de contato com o usuário de seu site, com você, você pode pedir informções sobre ele para criar uma mala direta, ou somente mesmo para, ter sugestões e críticas sobre seu site.


Vamos lá, nesse tutorial iremos criar nosso formulário com 2 páginas, poderiamos usar somente 1, mas teriamos que acrescentar IF, e algumas coisa que poderiam dificultar o entendimento do nosso objetivo principal.


Nossa primeira página será "formulario.php", que conterá os campos que iremos pedir de nosso usuário, essa página não terá nenhuma programação em PHP, somente um formulário, que enviará as informações digitadas para outra página que criará um email, e irá enviar para seu recipiente.


formulario.php

<html>
<head>
<title>Enviar Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="contato" method="post" action="enviar_form.php">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="100"><font size="2" face="Arial, Helvetica, sans-serif">Nome:</font></td>
      <td width="200"><input type="text" name="nome"></td>
    </tr>
    <tr>
      <td><font size="2" face="Arial, Helvetica, sans-serif">Email:</font></td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr>
      <td><font size="2" face="Arial, Helvetica, sans-serif">ICQ:</font></td>
      <td><input type="text" name="icq"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
    </tr>
  </table>
</form>
</body>
</html>


Os campos que estarei usando nesse tutorial são os seguintes: Nome, Email e ICQ. Você pode implementar quais e quantos campos quiser, desde que faça as referencias corretas na página seguinte. Essas referencias são feitas através do valor NAME no formulário. Por exemplo, o campo Nome, tem o valor NAME de nome, essa será a variável usada na página seguinte.

<form name="contato" method="post" action="enviar_form.php">


Aqui definimos para onde será enviada as informações que o usuário digitou, para a página "enviar_form.php". Vejamos agora como fica essa página:


enviar_form.php

<?
$msg = "Mensagem enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10); //nessa linha, estará impresso em que data e hora foi enviado o formulário
$msg .= "Nome : " . $nome . chr(13) . chr(10); //aqui o campo nome estará aparecendo
$msg .= "E-mail  : " . $email . chr(13) . chr(10); //campo email
$msg .= "ICQ : " . $icq . chr(13) . chr(10); //campo icq

$Remetente = $email; //aqui, colocamos que o email digitado seja quem enviou o formulário, pode ser substituido por "Contato do Site", assim, sairá sempre que quem enviou o email, seja Contato do Site

mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");
?>


Entendendo - Começamos indicando que a váriavel $msg, receba todos os dados do formuláro, somente na primeira linha ela será assim: $msg = ".....", nas demais ela terá um . antes do =, indicando que ele receberá mais aquele valor, se não tiver, ele substituirá o que foi indicado na linha acima, e colocará somente a partir dessa linha (sem o ".").

$msg .= "Nome : " . $nome . chr(13) . chr(10);


Por que 2 vezes Nome?
A primeira vez, estaremos escrevendo no email, realmente a palavra nome ("Nome : "), na segunda, estaremos escrevendo o que a variável $nome, recebeu no formulário. O chr(13) . chr(10) é para darmos o efeito de 1 Enter na tela do email.

mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");


Aqui está a função mail, a que enviará os dados, primeiro você deve digitar seu email, depois da virgula o assunto da mensagem (Contato do Site Tal), depois é o corpo do email, deve deixar a variável $msg, pois foi nela que inserimos todos os dados, e por último, é quem nos enviou o email.



Bem, qualquer dúvida em relação à esse tutorial, poste ai, terei o maior prazer em poder ajuda-lo.

Estou tentando para breve fazer um Tutorial de Formulário com Códigos HTML, que pode fazer esse email melhor visualizado, você pode montar uma página com imagens e tudo mais, e somente alterar os valores, mas essa fica pra próxima.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#2 Luiz Fernando

Luiz Fernando
  • Visitantes

Posted 05/09/2003, 20:47

Caro.
Tenho um site (www.microemp.com.br) e meus formularios pararam de funcionar por que o suporte do formmail foi encerrado. Agora preciso fazer um porem tenho a seguinte duvida:
De posse dos arquivos .php como instalo eles no meu site? Tem que ter uma pasta especial para PHP? O provedor tem que habilitar algo?
Fiz várias tentativas de rodar form mas em vão.
Obrigado.

PS.: Se possível passar a resposta para microemp@microemp.com.br

#3 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 05/09/2003, 20:50

bem, a unica coisa especial que precisaria era o suporte a php, no demais, deveria estar funcionando, fazemos assim, para naum tirar a ideia do post q eh um tutorial, posta la em duvidas, o script do seu form, estarei olhando para ver se ha algo errado :ok:
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#4 thalesalan

thalesalan
  • Visitantes

Posted 14/09/2003, 16:14

se não fosse esta função mail() 99% dos tutos sobre form com php num existiriam!!!
:lol: :D :P

#5 kekis

kekis

    Novato no fórum

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

Posted 18/10/2003, 17:17

Salve Amigo,

O script funcionou certinho, agora queria saber como faço pra enviar uma página de retorno para o usuário de pois do cadastro.

Obrigado

#6 kekis

kekis

    Novato no fórum

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

Posted 18/10/2003, 17:45

Desculpa amigo,

Ja consegui adaptar o formulário não precisa mais.

#7 crazybaby

crazybaby

    Cyber Eye

  • Banidos
  • PipPipPipPipPipPipPipPipPip
  • 1112 posts
  • Sexo:Não informado
  • Localidade:Divinopolis-MG
  • Interesses:ASP &amp; Design

Posted 18/10/2003, 17:52

o php naum utiliza componentes para envio de a-mil naum?tipo o asp!

#8 _mcl_

_mcl_

    Mestre

  • Usuários
  • 609 posts
  • Sexo:Masculino
  • Localidade:Ipatinga / MG

Posted 18/10/2003, 17:52

Vlw Xplayer pelo tutorial, sera muito util para nos, vlw mesmo kra!
Posted Image Posted Image Posted Image Posted Image

#9 Photon

Photon

    Novato no fórum

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

Posted 06/11/2003, 19:08

Bão.. como eu so iniciado nessa limguagem, eu não consegui entender direito o tuto.. por isso eu to aki pra tirar as minhas duvidas...

é o seguinte:
A primeirá página (formulario.php) ficou assim: nome, e-mail, assunto e mensagem; mais dois botões, um de enviar e outro de limpar o form. até aki tudo bem (eu acho :) ) segue abaixo como ficou...


<html>
<head>
<title>Enviar Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="contato" method="post" action="enviar_form.php">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="100"><font size="2" face="Arial, Helvetica, sans-serif">Nome:</font></td>
      <td width="200">
        <input type="text" name="nome" size="40">
      </td>
    </tr>
    <tr>
      <td><font size="2" face="Arial, Helvetica, sans-serif">Email:</font></td>
      <td>
        <input type="text" name="email" size="40">
      </td>
    </tr>
    <tr>
      <td><font size="2" face="Arial, Helvetica, sans-serif">Assunto:</font></td>
      <td>
        <input type="text" name="assunto" size="40">
      </td>
    </tr>
    <tr>
      <td>Mensagem:</td>
      <td>
        <textarea name="mensagem" cols="40" rows="10"></textarea>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
        <input name="enviar" type="submit" id="enviar" value="Enviar">
        <input type="reset" name="limpar" value="Limpar">
      </td>
    </tr>
  </table>
</form>
</body>
</html>


Agora é que vem o poblema...
Eu coloquei as informações adicionais q eu tinha colocado no formulario.php aki também, mas eu acho q não ficaram bem arrumadas e por não funcionaram...
segue abaixo como ficou o enviar_form.php

<html>
<head>
<title>Enviar Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<?
$msg = "Mensagem enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
$msg .= "nome : " . $nome . chr(13) . chr(10);
$msg .= "email  : " . $email . chr(13) . chr(10);
$msg .= "assunto : " . $assunto . chr(13) . chr(10);
$msg .= "mensagem : " . $mensagem . chr(13) . chr(10);

$Remetente = $email; //aqui, colocamos que o email digitado seja quem enviou o formulário, pode ser substituido por "Contato do Site", assim, sairá sempre que quem enviou o email, seja Contato do Site

mail("mrs_junior@hotmail.com", "$assunto",$msg,"From: $Remetente\n");
?>

</body>
</html>


Me diga onde eu errei... eu acho q foi quando coloquei aqueles tópicos adicionais (assunto e mensagem).

O objetivo do formulário é me enviar por e-mail, o que o visitante colocou em nome/email/assunto/mensagem, sendo que, o assunto que ele preencheu sejá o mesmo do e-mail.. intende?..

bão é isso.. espero q me ajude...

Obrigado

#10 PlaynowGames

PlaynowGames

    12 Horas

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

Posted 07/11/2003, 09:07

mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");

Warning: Failed to Connect in c:\easyphp\www\enviar_form.php on line 9


bom eu coloco meu email ai e quando mando enviar da esta menssagem de erro.........bom será que é por que eu to mandando do local host?? mais vale lembrar que eu to conectado a internet.....

#11 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/11/2003, 09:15

mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");

Warning: Failed to Connect in c:\easyphp\www\enviar_form.php on line 9


bom eu coloco meu email ai e quando mando enviar da esta menssagem de erro.........bom será que é por que eu to mandando do local host?? mais vale lembrar que eu to conectado a internet.....

Sim, você somente consiguirá enviar emails do seu computador se tiver um servidor de emails instalado nele, senão, somente pelo servidor online (y)
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#12 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/11/2003, 09:16

Mas o que está acontecendo de errado Photon?
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#13 PlaynowGames

PlaynowGames

    12 Horas

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

Posted 07/11/2003, 09:57

ta....consegui enviar o email nele, mais só que quando o email chega ele não vem com os campos com as informações que deviam ter....no email fica vazio....porque??

veio assim:

Mensagem enviada em 07/11/2003, os dados seguem abaixo:

Nome :
E-mail  :
ICQ :


deveria vir os dados da pessoa, mais não veio, será porque?? sera o meu servidor ??

#14 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/11/2003, 12:29

Sim, provavelmente é uma configuração do seu servidor, tente fazer dessa forma o enviar_form.php:

<html>
<head>
<title>Enviar Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<?
$nome = $_POST['$nome'];
$email = $_POST['$email'];
$assunto = $_POST['$assunto'];
$mensagem = $_POST['$mensagem'];

$msg = "Mensagem enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
$msg .= "nome : " . $nome . chr(13) . chr(10);
$msg .= "email  : " . $email . chr(13) . chr(10);
$msg .= "assunto : " . $assunto . chr(13) . chr(10);
$msg .= "mensagem : " . $mensagem . chr(13) . chr(10);

$Remetente = $email; //aqui, colocamos que o email digitado seja quem enviou o formulário, pode ser substituido por "Contato do Site", assim, sairá sempre que quem enviou o email, seja Contato do Site

mail("mrs_junior@hotmail.com", "$assunto",$msg,"From: $Remetente\n");
?>

</body>
</html>


Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#15 PlaynowGames

PlaynowGames

    12 Horas

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

Posted 07/11/2003, 13:28

não adianta.....deve ser problema do servidor mesmo.....vlw cara....pelo menos entendi como funciona!!!




1 user(s) are reading this topic

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

IPB Skin By Virteq