Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) $_POST bugado?


atimere

Pergunta

Problema é o seguinte, quando envia um email pelo formulario eu recebo tudo em branco os campos:

Nome:

Email:

Mensagem:

exatamente desta forma e no assunto vem (sem assunto), e se tenda dar replay ele não pega o email que a pessoa digitou no formulario... sinistro, eu revi o codigo varias vezes, sou novato mas pelo q eu vejo esta tudo certo.

O que eu percebo é como se a matriz $_POST não guardasse os dados.

<?php

// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.

// O return-path deve ser ser o mesmo e-mail do remetente.

$assunto = $_POST['assunto'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$mensagem = $_POST['mensagem'];

$to = 'atimere@gmail.com';

$headers = "MIME-Version: 1.1\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n";

$headers .= "From: contato@fapoesias.com.br\n"; // remetente

$headers .= "Return-Path: contato@fapoesias.com.br\n"; // return-path

$headers .= "Reply-To: $email\n"; // E-mail que receberá a resposta quando se clicar no 'Responder' de seu leitor de e-mails

// build the message

$message = "Nome: $nome\n";

$message .= "Email: $email\n";

$message .= "Mensagem: $mensagem";

$message = wordwrap($message,70);

if(!mail($to, $assunto, $message, $headers ,"-r"."contato@fapoesias.com.br")){ // Se for Postfix

$headers .= "Return-Path: " . "contato@fapoesias.com.br\n"; // Se "não for Postfix"

mail($to, $assunto, $message, $headers );

}

?>

Aqui vem os campos do formulario:

<form id="form1" name="form1" method="post" action="">

<p>

<label for="entrada">Nome:</label>

<input name="nome" type="text" id="nome" size="45" maxlength="45" />

</p>

</form>

<form id="form2" name="form2" method="post" action="">

<p>

<label for="email">Email:</label>

<input name="email" type="text" id="email" size="45" maxlength="45" />

</p>

</form>

</p>

<form id="form3" name="form3" method="post" action="">

<p>

<label for="assunto">Assunto:</label>

<input name="assunto" type="text" id="assunto" size="45" maxlength="45" />

</p>

</form>

<form id="form4" name="form4" method="post" action="">

<p>

<label for="mensagem">Mensagem: </label>

<textarea name="mensagem" id="mensagem" cols="65" rows="10"> </textarea>

</p>

</form><br/>

<form id="form5" name="form5" method="post" action="">

<p><input type="submit" name="send" id="send" value="Enviar" /></p>

</form>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Problema é o seguinte, quando envia um email pelo formulario eu recebo tudo em branco os campos:

Nome:

Email:

Mensagem:

exatamente desta forma e no assunto vem (sem assunto), e se tenda dar replay ele não pega o email que a pessoa digitou no formulario... sinistro, eu revi o codigo varias vezes, sou novato mas pelo q eu vejo esta tudo certo.

O que eu percebo é como se a matriz $_POST não guardasse os dados.

<?php

// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.

// O return-path deve ser ser o mesmo e-mail do remetente.

$assunto = $_POST['assunto'];

$nome = $_POST['nome'];

$email = $_POST['email'];

$mensagem = $_POST['mensagem'];

$to = 'atimere@gmail.com';

$headers = "MIME-Version: 1.1\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n";

$headers .= "From: contato@fapoesias.com.br\n"; // remetente

$headers .= "Return-Path: contato@fapoesias.com.br\n"; // return-path

$headers .= "Reply-To: $email\n"; // E-mail que receberá a resposta quando se clicar no 'Responder' de seu leitor de e-mails

// build the message

$message = "Nome: $nome\n";

$message .= "Email: $email\n";

$message .= "Mensagem: $mensagem";

$message = wordwrap($message,70);

if(!mail($to, $assunto, $message, $headers ,"-r"."contato@fapoesias.com.br")){ // Se for Postfix

$headers .= "Return-Path: " . "contato@fapoesias.com.br\n"; // Se "não for Postfix"

mail($to, $assunto, $message, $headers );

}

?>

Aqui vem os campos do formulario:

<form id="form1" name="form1" method="post" action="">

<p>

<label for="entrada">Nome:</label>

<input name="nome" type="text" id="nome" size="45" maxlength="45" />

</p>

</form>

<form id="form2" name="form2" method="post" action="">

<p>

<label for="email">Email:</label>

<input name="email" type="text" id="email" size="45" maxlength="45" />

</p>

</form>

</p>

<form id="form3" name="form3" method="post" action="">

<p>

<label for="assunto">Assunto:</label>

<input name="assunto" type="text" id="assunto" size="45" maxlength="45" />

</p>

</form>

<form id="form4" name="form4" method="post" action="">

<p>

<label for="mensagem">Mensagem: </label>

<textarea name="mensagem" id="mensagem" cols="65" rows="10"> </textarea>

</p>

</form><br/>

<form id="form5" name="form5" method="post" action="">

<p><input type="submit" name="send" id="send" value="Enviar" /></p>

</form>

Cara você está criando varios form e fechando os mesmos por isso nada está sendo enviado, veja um codigo a seguir deve funcionar mas não esqueça de colocar a pagina para onde os dados irão ser enviados em action, ex: action='enviar.php'

<table>
<form id="form1" name="form1" method="post" action="" enctype='multipart/form-data' >
<tr>
    <Td>Nome</td>
    <td> <input name="nome" type="text" id="nome" size="45" maxlength="45" /></td>
</tr>
<Tr>
   <td>Email:<td>
   <Td><input name="email" type="text" id="email" size="45" maxlength="45" /></td>
</tr>
    <Td>Assunto:</td>
    <Td><input name="assunto" type="text" id="assunto" size="45" maxlength="45" /></td>
</tr>
<tr>
   <Td>Mensagem: </td>
   <Td><textarea name="mensagem" id="mensagem" cols="65" rows="10"> </textarea></td>
</tr>
<tr><td>&nbsp;</td><td><input type="submit" name="send" id="send" value="Enviar" /></td></tr>
</form>
</table>

até mais qualquer duvida é so postar.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...