Jump to content

Envio de formulário HTML para email


salvador069
 Share

Recommended Posts

Boas

gostaria de pedir uma ajuda com um formulario que tenho num ficheiro HTML e que depois é enviado o conteudo do mesmo via PHP para email, so que a minha questão é a seguinte eu consigo enviar pro email so que não vao os dados do formulário e não estou vendo o porque.

Deixo aqui o codigo do formulário HTML e do PHP para ver se me conseguem ajudar.


<form action="envia.php" method="post" name="Pedido_de_Orcamento_Administracao_de_Condominios" id="Pedido_de_Orcamento_Administracao_de_Condominios" >
<table border="0" width="100%" id="table1">
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Nome:</font></b></td>
<td>
<input type="text" name="nome" size="100" style="border: 2px solid #7C9537; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Telefone:</font></b></td>
<td>
<input type="text" name="telefone" size="15" maxlength="9" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Telemóvel:</font></b></td>
<td>
<input type="text" name="telemovel" size="15" maxlength="9" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">E-mail:</font></b></td>
<td>
<input type="text" name="email" size="100" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Morada:</font></b></td>
<td>
<input type="text" name="morada" size="100" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Código
Postal:</font></b></td>
<td>
<input type="text" name="cp4" size="6" maxlength="4" style="border: 2px solid #7C9537"> -  
<input type="text" name="cp3" size="6" maxlength="3" style="border: 2px solid #7C9537"> -  
<input type="text" name="localidade" size="74" maxlength="50" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Fracções
Habitacionais:</font></b></td>
<td>
<input type="text" name="frachab" size="6" maxlength="4" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Fracções
Comerciais:</font></b></td>
<td>
<input type="text" name="fraccom" size="6" maxlength="4" style="border: 2px solid #7C9537"></td>
<td width="130"> </td>
</tr>
<tr>
<td width="111"> </td>
<td width="102"><b><font face="Century Gothic" size="2">Garagens:</font></b></td>
<td>
<select size="1" name="Garagens" style="border: 2px solid #7C9537; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; font-family:arial; font-size:10pt">
<option selected>----</option>
<option>Sim</option>
<option>Não</option>
</select></td>
<td width="130"> </td>
</tr>
</table>
<p align="center"><font face="Arial">
<input type="submit" value="Enviar" name="enviar" style="font-weight: bold; font-family: Century Gothic; font-size: 12pt"></font> 
<font face="Arial">
<input type="reset" value="Limpar" name="Limpar" style="font-family: Century Gothic; font-size: 12pt; font-weight: bold"></font></p>
</form>

<?php
$hoje_tmp = getdate();
$hoje = ($hoje_tmp[hours].":".$hoje_tmp[minutes].":".$hoje_tmp[seconds]);
$nome=$_POST["nome"];
$telefone=$_POST["telefone"];
$telemovel=$_POST["telemovel"];
$email=$_POST["email"];
$morada=$_POST["morada"];
$cp4=$_POST["cp4"];
$cp3=$_POST["cp3"];
$localidade=$_POST["localidade"];
$frachab=$_POST["frachab"];
$nome=$_POST["nome"];
$fraccom=$_POST["fraccom"];
global $email; //transforma em variavel global a variável e-mail
$enviou = mail("rui_lages@hotmail.com", // aqui voce coloca o seu e-mail
"Pedido de Orçamento para Administração de Condomínios",
"Nome: $nome
Telefone: $telefone
telemóvel: $telemovel
e-mail: $email
Morada: $morada
Codigo postal: $Cp4 "-" $CP3 "-" $localidade // aqui quero que apareça a dizer codigo postal: XXXX - XXX - lisboa

Mensagem: $mensagem",
"From: $email <$nome>");
if ($enviou){
header('location:http://www.vandagere.pt/obrigado.html');
}
else {
header('location:http://www.vandagere.pt/erro_envio.html');
}
?>

Tenho alguma urgencia nisto pois já deveria ter acabdo este projecto meu e nao há maneira de acertar com este envio dos dados para e-mail

Link to comment
Share on other sites

boas

estou a tentar em servidor, e infelizmente o servidor nao aceita ASP, porque senao eu ja tinha isto feito, pois eu nao percebo muito de PHP.

o erro que me dá nao é bem um erro e o seguinte ele envia o mail só que não aprecem lá os campos com os dados que são inseridos, no email que recepciono aparece 0 ou entao -233.

cumprimentos

Link to comment
Share on other sites

<?php

$nome       = $_POST["nome"];
$telefone   = $_POST['telefone'];
$telemovel  = $_POST['telemovel'];
$email      = $_POST['email'];
$morada     = $_POST['morada'];
$cp4		= $_POST["cp4"];
$cp3		= $_POST["cp3"];
$localidade = $_POST["localidade"];
$mensagem   = $_POST['mensagem'];
$assunto    = "Pedido de Orçamento para Administração de Condomínios"; //Coloca aqui o assunto que queres que apareça no e-mail

global $email; //função para validar a variável $email no script todo

//aqui envia o e-mail para ti
mail ("rui_lages@hotmail.com",                       //email onde o php vai enviar os dados do form
      "$assunto",
      "Nome: $nome\nTelefone: $telefone\nTelemóvel: $telemovel\nE-mail: $email\nMorada: $morada\nCódigo Postal: $cp4 "-" $cp3 "-" $localidade\nMensagem: $mensagem",
      "From: $email"
     );

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "rui_lages@hotmail.com";                    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "RE: E-mail Enviado";                      //titulo da mensagem enviada para o visitante, muda para o que pretenderes
$msg    = "Obrigado por efectuar o Pedido de Orçamento para Administração de Condomínios"; //Muda para o que pretenderes

//aqui envia o e-mail de auto-resposta para o visitante
$ok= @mail("$email",
     "$titulo",
     "$msg",
     "From: $site"
    );
header("Location: http://www.vandagere.pt/obrigado.html");
?>

Exemplo que possui também e-mail de resposta automática. Por exemplo, se fosse para uma newsletter tanto enviava para ti os dados que o assinante subscreveu, bem como envia um e-mail para o mesmo a agradecer por ter subscrevido a newsletter, por exemplo.

Atenção que tinhas a variável $nome repetida e tinhas nomes de variáveis diferentes ($cp4 VS $Cp4 e $cp3 VS $CP3) cuidado que o PHP é case sensitive na declaração de variáveis.  🙂

echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious.";

Link to comment
Share on other sites

boas

a todos obrigado por tentarem ajudar só que após tentativa de ajuda do ANDRECL e de testar o que ele me postou, o email é enviado so que aparece unicamente -123

e nao envia os campos

o que será que ainda esta mal.

Vou deixar aqui as alterações que tive que fazer ao exemplo que ele deu.

<?php

$nome       = $_POST["nome"]; // caixa de texto
$telefone   = $_POST['telefone'];
$telemovel  = $_POST['telemovel'];
$email      = $_POST['email'];
$morada     = $_POST['morada'];
$cp4        = $_POST["cp4"];
$cp3        = $_POST["cp3"];
$localidade = $_POST["localidade"];
$frachab    = $_POST["frachab"];
$fraccom    = $_POST["fraccom"];
$garagens   = $_POST["garagens"]; // este campo é um dropdown de escolha entre sim e não
$mensagem   = $_POST['mensagem'];
$assunto    = "Pedido de Orçamento para Administração de Condomínios"; //Coloca aqui o assunto que queres que apareça no e-mail

global $email; //função para validar a variável $email no script todo

//aqui envia o e-mail para ti
mail ("rui_lages@hotmail.com",                       //email onde o php vai enviar os dados do form
      "$assunto",
      "Nome: $nome\nTelefone: $telefone\n Telemóvel: $telemovel\n E-mail: $email\n Morada: $morada\n Código Postal: $cp4 "-" $cp3 "-" $localidade\n Fracções Habitacionaveis: $frachab\n Fracções Comerciais: $fraccom\n Garagens: $garagens\n Mensagem: $mensagem",
      "From: $email"
     );

//aqui são as configurações para enviar o e-mail para o visitante
$site   = "rui_lages@hotmail.com";                    //o e-mail que aparecerá na caixa postal do visitante
$titulo = "RE: E-mail Enviado";                      //titulo da mensagem enviada para o visitante, muda para o que pretenderes
$msg    = "Obrigado por efectuar o Pedido de Orçamento para Administração de Condomínios"; //Muda para o que pretenderes

//aqui envia o e-mail de auto-resposta para o visitante
$ok= @mail("$email",
     "$titulo",
     "$msg",
     "From: $site"
    );
header("Location: http://www.vandagere.pt/obrigado.html"); // esta é a pagina caso seja o envio efectuado 
?>

Já estou a desesperar com esta linguagem HELP

EDIT: Não te esqueças de usar as tags code. 🙂

Link to comment
Share on other sites

boas caro amigo acao

antes de mais obrigado pela tentativa de ajuda só que penso que o que me disse era caso fosse o formulario feito mesmo em PHP, o que o caso aqui nao ocorre devido a eu ter o formulario num ficheiro PHp com o action"envia.php" que é o fiheiro que vai ler os dados em do post do formulkario de cada campo

cumprimentos

Link to comment
Share on other sites

boas caro amigo acao

antes de mais obrigado pela tentativa de ajuda só que penso que o que me disse era caso fosse o formulario feito mesmo em PHP, o que o caso aqui nao ocorre devido a eu ter o formulario num ficheiro PHp com o action"envia.php" que é o fiheiro que vai ler os dados em do post do formulkario de cada campo

cumprimentos

pois estás correcto para esta situação o action tinha que estar "".

tenta correr só o ficheiro html para ver se as variaveis sao carregadas, coloca a parte de enviar email como comentário.

cumps

acao

Link to comment
Share on other sites

a todos obrigado por tentarem ajudar só que após tentativa de ajuda do ANDRECL e de testar o que ele me postou, o email é enviado so que aparece unicamente -123

e nao envia os campos

o 123 foi o que colocaste no indicativo do código postal, certo? Então a variável $cp3 está a aparecer. Falta ver o que está a acontecer com as restantes.

Como o acao sugeriu retira a parte do envio de e-mail e faz um echo às variáveis e vê se os dados estão a ser passados.

echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious.";

Link to comment
Share on other sites

o 123 foi o que colocaste no indicativo do código postal, certo? Então a variável $cp3 está a aparecer. Falta ver o que está a acontecer com as restantes.

Como o acao sugeriu retira a parte do envio de e-mail e faz um echo às variáveis e vê se os dados estão a ser passados.

como é que eu faço esse echo que estão a indicar, pois umas vezes aparece -123 e outras 0 de valor.

cumprimentos

Link to comment
Share on other sites

boas a todos e obrigado pela ajuda que me tem dado, venho informar que já consegui que os dados fossem enviados só que o campo Garagens que eu tenho em html é uma combobox e o valor no php ou não é lido, ele quando se envia o email o campo aparece em branco alguem me pode dizer como posso fazer que ele envie o a opção escolhida na combobox

Link to comment
Share on other sites

como é que eu faço esse echo que estão a indicar, pois umas vezes aparece -123 e outras 0 de valor.

cumprimentos

Ao fazeres echo de uma variável estás a exibir o seu resultado.

Para veres os dados que colocaste no form.

Exemplo;

echo $nome;     
echo $telefone;
echo $telemovel; 
echo $email;    
echo $morada;     
echo $cp4;       
echo $cp3;        
echo $localidade; 
echo $frachab;   
echo $fraccom;  
echo $garagens;   
echo $mensagem;   
echo $assunto; 

echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious.";

Link to comment
Share on other sites

boas a todos e obrigado pela ajuda que me tem dado, venho informar que já consegui que os dados fossem enviados só que o campo Garagens que eu tenho em html é uma combobox e o valor no php ou não é lido, ele quando se envia o email o campo aparece em branco alguem me pode dizer como posso fazer que ele envie o a opção escolhida na combobox

Qual era o problema? Explica como resolveste.

Estás a fazer:

$garagens   = $_POST["garagens"]; // este campo é um dropdown de escolha entre sim e não

Portanto, no select basta ter o name como garagens, isto é:

<select name="garagens">
    <option value="0" selected="selected">Seleccione uma opção</option>
    <option value="1">Sim</option>
    <option value="2">Não</option>
</select>

echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious.";

Link to comment
Share on other sites

boas

a resolução foi facil quando estava a mandar codigo postal: $cp4 "-" $cp3 "-" localidade não podia estar a usar "-" bastava so por $cp4 $cp3 $localidade

depois deu logo.

queria ja agora tirar uma duvida como faço para ter um campo de anexos *.doc *.docx e *.pdf no HTML e fazer o attach no envio do email em PHP

cumprimentos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.