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

Formulário


Marcelo Z. Fabro

Pergunta

Boa tarde, pessoal;

tenho um formulário q está funcionando corretamente; a única coisa q falta é o seguinte:

Preencho o form com nome, end, cidade e-mail etc., só q quando chega, por exemplo no Outlook, ou no WebMail do servidor de hospedagem, o "De:", ou seja, o nome ou email de quem mandou não aparece, e sim, aparece o default do servidor PHP. Neste por ex, está aparecendo World Wide Web.

No meu form contém: config.php, index.php, email.php e o emailform.php(q é form de preenchimento). no config.php estão onde eu quero enviar o e-mail, onde estão as mensagem de envio, de erro e assim por diante. OK?

Se alguém puder me ajudar, desde já agradeço.

Obrigado.

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0
Guest - Marcelo Z. Fabro -
· http://br.php.net/manual/pt_BR/function.mail.php

<?php

mail("nobody@example.com", "the subject", $message,

     "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

     "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

     "X-Mailer: PHP/" . phpversion());

?>

Error404;

Como estou começando em PHP, se você puder me indicar o arq q coloco esse, eu te agradeceria bastante.

<?php

mail("nobody@example.com", "the subject", $message,

"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

"Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

"X-Mailer: PHP/" . phpversion());

?>

no config, no email ou no form(formulário)

1 abraço e obrigado por enquanto.

Link para o comentário
Compartilhar em outros sites

  • 0

Marcelo Z. Fabro;

Como você está começando em PHP, se você puder dar uma olhada na sintaxe básica da linguagem, eu te agradeceria bastante.

Como tem muitos usuários que vem aqui com scripts prontos querendo que a gente os modifique pra que eles possam vender aos seus clientes, se auto entitulando "programadores" com isso, não modificamos mais códigos ou postamos coisas prontas assim.

Não estou dizendo que é o seu caso, não diria isso sem ter certeza, mas é uma política que previne a proliferação desse tipo de gente. (não no sentido literal....apesar de que não seria má idéia... rolleyes.gif)

Então, eu te ajudarei com o maior prazer, explico pra você 500x se for preciso, mas não vou modificar o seu código. Espero que entenda.

Se você puder postar o seu código, podemos ver aonde você está errando e mostrar como fazer funcionar... cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Marcelo Z. Fabro -

Error404;

Tudo bem, concordo plenamente com vc. Eu apenas estou querendo aprender sobre esta linguagem. Sem problema.

Note q o email.php chama o config.php.

Enfim o form envia sem nenhum problema, só subject ou o "De" q falta.

1 abraço e obrigado.

Segue abaixo os scripts do form + importantes.

config.php

tentei usar na linha do $cabecalho... mas não deu.

<body text="#FF0000">

<?

$nome = $HTTP_POST_VARS["nome"];

/*

* Configurações do formulário de Contato

* Altere a variavel $mail_destino para o seu email

*/

// Nome e e-mail de quem está enviando a mensagem

$cabecalho_da_mensagem_original=From: $nome <$email>\n";

//Seu email, para onde irao as informações do formulário

$mail_destino = "meu@email.com.br";

//Mensagem de cabeçalho do email

$mail_header = "Mensagem Enviada Pelo Formulário de Pedidos .";

//Mensagem para o email de resposta

$msg_reply = "Olá $nome, Recebemos o Seu E-mail. Entraremos em Contato o Mais Rápido Possível, Obrigado.";

//Mensagem de Erro

$msg_erro = "Atenção!! Os campos<b> Nome, Mensagem, E-mail e Telefone </b></font> não podem estar em branco.";

?>

email.php

<?php

$nome = $HTTP_POST_VARS["nome];

$endereco = $HTTP_POST_VARS["endereco"];

$bairro = $HTTP_POST_VARS["bairro"];

$cidade = $HTTP_POST_VARS["cidade"];

$estado = $HTTP_POST_VARS["estado"];

$telefone = $HTTP_POST_VARS["telefone"];

$email = $HTTP_POST_VARS["email"];

$assunto = $HTTP_POST_VARS["assunto"];

$mensagem = $HTTP_POST_VARS["mensagem"];

include("config.php");

o script abaixo você mesmo q me passou. Ok?<?php

mail("nobody@example.com", "the subject", $message,

"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

"Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .

"X-Mailer: PHP/" . phpversion());

?>

//Testa campos obrigatórios

if ($nome!="" and $mensagem!="" and $email!="" and $telefone!="")

{

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

$msg .="Endereco: $endereco\n";

$msg .="Bairro: $bairro\n";

$msg .="Cidade: $cidade\n";

$msg .="Estado: $estado\n";

$msg .="Telefone: $telefone\n";

$msg .="E-mail: $email\n";

$msg .="Assunto: $assunto\n";

$msg .="$mensagem\n";

if (@ mail ($mail_destino, $assunto, $msg, $mail_header))

{

//Imprimindo confirmação de envio

echo

"

<html><center>

<meta http-equiv=refresh content=5;URL=index.php></html>";

echo "$nome, sua mensagem:<br> $mensagem <br>.Foi enviada com sucesso!<br>";

echo "Obrigado!<br><br></center>

";

//Enviando mensagem de confirmação para o email do visitante

@ mail ($email, "Re: $assunto", $msg_reply, $mail_header);

}

else

echo

"

<meta http-equiv=refresh content=5;URL=index.php>

</html><center><br><br><font color=red>

<b>Erro ao enviar e-mail!</b>

</font></center>

";

}

else

{

//Alerta sobre os campos obrigatórios

echo

"

<br><br><center>

$msg_erro <br><br>

<a href=\"javascript:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a>

</center>

";

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Error404;

Coloquei no lugar de "$email" o meu email, mas ainda não deu certo, sai "World Wide Web Owner".

Verifiquei alguns código do WebMail, q recebe o e-mail enviado, e ví alguma coisa de "UEBMIAU".

Postei pra você os 2 códigos q tenho (config.php e email.php); lá em email.php

if (@ mail ($mail_destino, $assunto, $msg, $mail_header))

será q num tá faltando "$email" como o "$assunto" porque onde recebe o e-mail enviado tem assunto e o assunto do meu form cai no campo certo (assunto) do WebMail.Ok?

té +

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, cara, foi mal. Não tinha lido direito.

Seguinte. Você tem aquele mundo de variáveis ali no início e nenhuma está sendo enviada pela mail.

Você tem que adicionar elas à header da função mail.

Dá uma lida nisso:

· http://br.php.net/function.mail

Veja os argumentos. Se não me engano o 4º são as headers. Você tem que adicionar a essas headers aquele esquema do "From: " que eu lhe mostrei... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Não.

Veja só isso, é a função que envia os emails; a função mail:

· http://br.php.net/function.mail [por favor, dê uma lida caso não tenha lido]

//Enviando mensagem de confirmação para o email do visitante

@ mail ($email, "Re: $assunto", $msg_reply, $mail_header);

Aquele que eu marquei em vermelho é o parâmetro das headers:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

Entendeu?

É ali que tem que ir o seu "From: ". Mas ele tem que ir com várias outras headers (leia a função pra saber quais são interessante mandar). Por isso você vai ter que juntar toda essa informação de headers e colocar no lugar certo da função mail().

Entendeu o funcionamento da coisa? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

O assunto é um parâmetro a parte e é passado em um lugar diferente na função.

Quando você tiver um tempo, você precisa entender como funcionam as variáveis no PHP. Principalmente como dar valor a uma variável, e como ir juntando variáveis, umas com as outras.

Depois que você entender isso vai ser bem fácil de saber o que fazer.

Está te faltando uma base que você deveria ter aprendido antes de começar a programar.

Mas vamos em frente que você aprende, sem problemas... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Error404;

Tudo bem. O tutorial q você me indicaria seria o do link abaixo:

http://br.php.net/function.mail

té +

Cara, não entendi o seu post.

Esse link que você passou é uma explicação da função mail(). No caso, acho que você está tendo mais dificuldade em entender como funcionam as variáveis.

Você saberia fazer um script que mostra o que o usuário escreveu em um campo, com PHP? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Error404;

Cara. é o seguinte:

Realmente eu não sei nada; o form q peguei já estava pronto, mas como te disse ontem (domingo 05/12/2004) "EU ESTOU QUERENDO APRENDER".

você disse q não entendeu meu post.

Eu queria um tutorial, q eu possa estudar PHP.

Eu optei pelo PHP pelo seguinte: percebi que ele é mais dinâmico, e a forma do script do PHP aparenta ser menos complicada de se aprender.

você é moderador em PHP não é por acaso, você estudou, e é o que eu preciso fazer. Ok?

Peguei no php.net, sobre headers e função mail, estou estudando sobre isso.

1 abraço

té +

Link para o comentário
Compartilhar em outros sites

  • 0

Oxe... vamos com calma. Sei que você quer aprender, mas não sei até onde você sabe.

Perguntei se você saberia fazer aquilo pra não explicar tudo e você me dizer que já sabia... smile.gif

Você já programou em outra linguagem? Qualquer que seja? Se sim, vai ser mais fácil de aprender PHP. Senão, era bom você procurar por um tutorial de Lógica de Programação.

Mas, sobre PHP, uma apostila que eu usei quando tava começando é essa:

· Aplicações Web em PHP [retirada da SuperPHP.com.br]

Se você der uma lida, acho que vai enteder.

Qualquer coisa é só postar aí que a gente te ajuda, sem problemas. Se você não souber o básico e quiser aprender, cara, a gente te ensina sem problemas... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - hacker -
O servidor pode influenciar nisso, ou seja, em não deixar sobrepor ao do servidor?

Sim, pode ser isso.

Tentou alterar como eu te indiquei?

Tente colocar o seu e-mail ali no lugar que eu te disse manuamente, sem usar a variável $email...

“<script>alert('Te Peguei');</script>”.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...