Forum Pplware
Formulário Mail PHP - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Formulário Mail PHP (/showthread.php?tid=4062)



Formulário Mail PHP - TiagoMatias - 07-12-2009 20:45

Boa Tarde,

Estou com um problema no envio de um mail através de uma função de PHP. O que se passa é que o mail é enviado correctamente, mas as variáveis "var1", "var2", e "var3" do ficheiro php não são enviadas no mail.

Código:
//Ficheiro HTML

<form name="form1" method="post" onsubmit="return formCheck(this);" action="enviar.php">
<textarea name="var1" cols="30" rows="5"></textarea>
<textarea name="var2" cols="30" rows="5"></textarea>
<textarea name="var3" cols="30" rows="5"></textarea>
</form>

Código PHP:
//enviar.php

<?php function data()
{
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$email "mail@mail.com";
$assunto "Assunto";
$mensagem "
<b>Dados:</b>
<p><b>Dado1:</b> 
$var1 <br>
<b>Dado2:</b> 
$var2 <br>
<b>Dado3:</b> 
$var3 <br>
"
;
mail($email$assunto$mensagem$headers);
include(
"mailok.htm");
?>

Alguém me dá uma ajudinha?

Obrigado,

Abraço,
Tiago Matias


RE: Formulário Mail PHP - Bruno Bernardino - 07-12-2009 20:48

Ok,

Não vou entrar em detalhes relativamente às imensas falhas de segurança que aí tens.

Mas tens de adicionar isto antes de definires os headers:

Código:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
$var3 = $_POST['var3'];

Nota também que no html tens duas vezes var2 em vez de var2 e var3.


RE: Formulário Mail PHP - TiagoMatias - 07-12-2009 20:53

Obrigado.. Sim, foi uma adaptação rápida que fiz dum código maior, mas para não o estar a escrever todo, fiz isto rápido e saíram alguns erros como já vi.

Quantos às falhas de segurança, acredito que o mail ali exposto a quem veja a source não seja nada agradável, mas era um código antigo que já aqui tinha e como não sou programador nem nada que se pareça (só dou mesmo uns toques para o desenrascanço), aproveitei-o para me desenrascar ainda hoje Big Grin

Vou experimentar, já digo qualquer coisa.

Cump,
TM

EDIT: Não funcionou.. continua a não enviar as variáveis para o e-mail, mesmo definidas antes dos headers como disseste.. estará a faltar alguma coisa?


RE: Formulário Mail PHP - xOy - 07-12-2009 23:25



Tens o formulário com o campo name="valor1" (exemplo)

No ficheiro php para que é enviado o formulário, tens que ter uma leitura dos dados em post, ou seja:

$var1 = $_POST['valor1'];

a variavel $var1 vai ficar com o valor determinado pelo utilizador. Depois é só processa-las....


RE: Formulário Mail PHP - TiagoMatias - 07-12-2009 23:38

Sim, já experimentei fazer isso mas continua sem dar. O que estou a reparar é que ele lê e envia bem a variável $assunto por exemplo, e os dados escritos dentro da variável $mensagem.

As variáveis que ele não imprime para o mail é as variáveis que mando ler dentro da variável $mensagem. Por exemplo $var1 que a declaro dentro da variável $mensagem.


RE: Formulário Mail PHP - xOy - 07-12-2009 23:41

aparece no e-mail:

$var1

ou nao aparece nada?!

faz um debug.. antes de enviar e-mail, imprime cada uma das variaveis e vê o no que dá...


RE: Formulário Mail PHP - TiagoMatias - 07-12-2009 23:55

No mail não aparece nada sequer...

Humm. não tenho como fazer debug, estou a programar em .txt, apesar que também sou meio nerdo nisto lolEEK!


RE: Formulário Mail PHP - Ana - 08-12-2009 02:11

Faz:

Código PHP:
echo '<p>var1 = '$var1 '</p>';
echo 
'<p>var2 = '$var2 '</p>';
echo 
'<p>var3 = '$var3 '</p>'

Depois de definires o valor das variáveis, imprimindo assim o seu valor.