Jump to content

[PHP]Para iniciantes em PHP (formulario de envio para email php)


Recommended Posts

Codigo para formulário:.

<?php

/*A variável $mensagem recebe os dados da array.  */
$mensagem = "Nome: ".$_POST['nome']." \n";
$mensagem .= "Email: ".$_POST['email']." \n";
$mensagem .= "Assunto: ".$_POST['assunto']." \n";
$mensagem .= "Mensagem:". $_POST['mensagem'];
/*
Função Mail:
1: Coloque o email que vai receber os dados do formulário;
2: Coloque o titulo do email;
3: Os dados do formulário.
*/
mail("email", "Formulário - andfex", $mensagem);

/*
Mensagem que será impressa 
*/

echo '<h1>Enviado com Sucesso!</h1>';
echo '<h1>Em breve entraremos em contato.</h1>';
?>

Partilhar os conhecimentos é o meu mais rapido de crescer, think that

Link to comment
Share on other sites

Fiquei com uma duvida. Depois de montar o formulário em HTML. Como faço para ligar o formulário a este code?

Desculpem, mas sou totalmente novato em PHP.

no início do formulário

<form action="nomedoficheiro.php" method="post">

nomedoficheiro.php é o ficheiro em que está este script

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

$mensagem = "Nome: nome \n";

$mensagem .= "Email: hhhhhhhhhhhhhhhhhhh \n";

$mensagem .= "Assunto: Recuperação \n";

$mensagem .= "Mensagem: nova : $newstr ";

mail($email,"Recuperação de Password","Formulário - andfex", $mensagem);

eu tenho este pedaço de codigo, porque que ele nao funciona? estou a trabalhar no wanmpserver, sera que so manda email depois do site estar online?

Link to comment
Share on other sites

Pessoal, contribuam para a boa organização do fórum, se tiverem dúvidas coloquem-nas na secção de dúvidas e DE ACORDO COM AS REGRAS.

As mensagens de dúvidas afixadas neste tópico serão apagadas brevemente.


Atenção que o uso deste script é perigoso. Pode resultar na injecção de cabeçalhos na mensagem de email, o que pode ser usado para spam, bulras e afins.

A forma de previnir isso é sanear os parâmetros. se tiverem mudanças de linha então são perigosos e não devem ser permitidos.

Está melhor explicado aqui em inglês:

http://www.thesitewizard.com/php/protect-script-from-email-injection.shtml

Se tiver tempo adiciono esta informação em português ao nosso wiki.

Link to comment
Share on other sites

<?php
// validar inputs
if ($_POST['nome'] == 'admin') exit('Não pode user esse nome.');

// inserir na base de dados
$sql = "insert into messages values (1, 2, 3)";
mysql_query($sql) or die(mysql_error() . ' @ ' . __FILE__ . ':' . __LINE__);

// mandar mail
mail('me@msn.com', 'assunto', 'Mensagem propriamente dita');

// feedback ao utilizador
echo '<p>Obrigado por mandar o mail.</p>';
?>

Usa o GeSHi para colorires o código 😉

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Mais ou menos da mesma maneira que fizeste para meter os dados na base de dados.

$destinatario = 'me@foobar.com';
$assunto = reset(explode("\n", $_POST['assunto'])); /* só a 1a linha */
$mensagem = $_POST['mensagem'];
mail($destinatario, $assunto, $mensagem);

Oh ....... PS

Não te esqueças de preparar os inputs antes de os meteres na base de dados.

Não queres correr o risco de uma "SQL injection" ( http://en.wikipedia.org/wiki/Sql_injection ou http://xkcd.com/327 ), pois não?

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.