salvador069 Posted February 28, 2012 Report Share Posted February 28, 2012 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 More sharing options...
fil79 Posted February 28, 2012 Report Share Posted February 28, 2012 1º- Usa as tags de código para facilitar a leitura 2º-Qual o erro que dá? MCITP-MCTS-MCP Link to comment Share on other sites More sharing options...
AndreLC Posted February 28, 2012 Report Share Posted February 28, 2012 Estás a testar em localhost ou em servidor? echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious."; Link to comment Share on other sites More sharing options...
salvador069 Posted February 28, 2012 Author Report Share Posted February 28, 2012 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 More sharing options...
J-M Posted February 28, 2012 Report Share Posted February 28, 2012 Tenta concatenar a mensagem numa variavel (ex. $assunto) e coloca a variavel a seguir ao email. Link to comment Share on other sites More sharing options...
salvador069 Posted February 28, 2012 Author Report Share Posted February 28, 2012 boas poderias dar um exemplo a serio nao sou la muito bom com PHP cumprimentos Link to comment Share on other sites More sharing options...
AndreLC Posted February 28, 2012 Report Share Posted February 28, 2012 <?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 More sharing options...
fil79 Posted February 29, 2012 Report Share Posted February 29, 2012 A melhor maneira de enviares emails é por autenticação SMTP. Evita a função mail, para além de ter pouca flexibilidade, existem servidores que não a suportam. http://www.oficinadanet.com.br/artigo/1031/php__enviando_e-mail_autenticado MCITP-MCTS-MCP Link to comment Share on other sites More sharing options...
salvador069 Posted February 29, 2012 Author Report Share Posted February 29, 2012 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 More sharing options...
acao Posted February 29, 2012 Report Share Posted February 29, 2012 boas ainda sou novato em php mas penso que falta, no inicio do php: if (isset($_POST['Enviar'])){ os craks que confirmem! cumps acao Link to comment Share on other sites More sharing options...
salvador069 Posted March 1, 2012 Author Report Share Posted March 1, 2012 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 More sharing options...
acao Posted March 1, 2012 Report Share Posted March 1, 2012 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 More sharing options...
AndreLC Posted March 1, 2012 Report Share Posted March 1, 2012 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 More sharing options...
salvador069 Posted March 1, 2012 Author Report Share Posted March 1, 2012 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 More sharing options...
salvador069 Posted March 1, 2012 Author Report Share Posted March 1, 2012 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 More sharing options...
AndreLC Posted March 1, 2012 Report Share Posted March 1, 2012 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 More sharing options...
AndreLC Posted March 1, 2012 Report Share Posted March 1, 2012 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 More sharing options...
salvador069 Posted March 1, 2012 Author Report Share Posted March 1, 2012 boas venho pedir aos moderadores que podem fechar o topico já consegui fazer o que queria, e MUITO OBRIGADO A TODOS os que tentaram ajudar-me cumprimentos Link to comment Share on other sites More sharing options...
acao Posted March 2, 2012 Report Share Posted March 2, 2012 podes ser tu a fazer. http://www.portugal-a-programar.pt/index.php?showtopic=25902 Link to comment Share on other sites More sharing options...
salvador069 Posted March 2, 2012 Author Report Share Posted March 2, 2012 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now