php e as variáveis do form para o e-mail

tomsawyer

Membro
tenho o seguinte codigo para enviar mail através de um site que estou a fazer, mas da pagina de inserção de dados para a pagina de tratamento de dados as variaveis ficam vazias alguem me descobre erro ?? é de salientar que ambas as paginas estão guardadas como php ...

aqui vai ...

pagina de inserção de dados ...

<form action="mail.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="84" align="right"><span class="style60">Nome:</span></td>
<td width="22" align="left">&nbsp;</td>
<td colspan="3" align="left"><input name="nome" type="text" id="nome" value="" size="25" maxlength="200" /></td>
</tr>
<tr>
<td align="right"><span class="style60">Teu E-mail: </span></td>
<td width="22" align="left">&nbsp;</td>
<td colspan="3" align="left"><input name="email" type="text" id="email" value="" size="25" maxlength="200" /></td>
</tr>
<tr>
<td align="right" valign="top"><span class="style60">Mensagem:</span></td>
<td width="22" align="left">&nbsp;</td>
<td colspan="3" align="left"><textarea name="mail" cols="30" rows="10" id="mail" ></textarea></td>
</tr>
<tr>
<td colspan="5" align="center">&nbsp;</td>
</tr>
<tr>
<td align="right">&nbsp;</td>
<td align="right">&nbsp;</td>
<td width="215" align="right"><input name="reset" type="reset" id="reset" value="Limpar tudo" /></td>
<td width="64" align="right"><input name="submit" type="submit" id="submit" value="Enviar" /></td>
<td width="15" align="right">&nbsp;</td>
</tr>
</table>
</form>

Pagina de tratamento de dados ...

<form method="get">
<?php
if($nome){
if($email){
if($mail){
$own_email = sprintf("[email protected]");
$email_msg = sprintf("%s mandou-lhe um e-mail...\n\nMensagem:\n%s\n\n",$nome,$mail);
$result_id = mail($own_email, "Mensagem do site ...",$email_msg);
if($result_id){
echo "Mail enviado com sucesso";
} else {
echo "Ocorreu um erro, volte a tentar ...<br>ou avise-nos se esta mensagem voltar a aparecer";
}
} else {
echo "Não introduziu a mensagem";
}
} else {
echo "Não introduziu o seu endereço de E-mail";
}
} else {
echo "Não introduziu o seu nome";
}
?>
</form>

Obrigado a quem me ajudar ... e aos que tiverem vontade mas tambem não saibam resolver ...
 
Que versão do php estas a usar? Provavelmente tens nas definições do php o valor register_globals=off. Desde o PHP 4.2.0 o valor default de register_globals é off, e para teres as tuas variaveis dessa maneira tens que mudar esse valor para 'on'.
Poque não usares $variavel_1 = $_POST['variavel_enviada_via_POST']; para ires buscar as tuas variaveis?
Mas porque tens um form method=get na pagina de dados?
Porquê 3 if's seguidos? bastava confirmares se algum dos campos estava vazio e mandar uma mensagem geral. podias simplificar o teu codigo em muito...o que provavelmente te ajudaria em muito perceberes melhor o que esta mal...

Um abraço.
 
Última edição:
Back
Topo