:: PORTUGUÊS ::  ENGLISH ::


Quem será o proximo presidente da republica?

 André Ferreira
 Mario Soares
 Cavaco Silva
 Jerónimo de Sousa
 Francisco Louçã


 

Parceiros:

Server time

02:35
05-Setembro-2010

Localização: Home Page > Recursos > 345572458

De formulário para E-mail

É talvez um dos mais simples, eficazes e usado script da internet actual, o FormToMail, usualmente conhecido por formmail, tem um funcionamento muito linear, o visitante preenche os dados de um formulário de contactos e todos esses dados são enviados por PHP para o email definido para o receber.

A classe FormtoMail
O método de criação do script foi bastante simples, desenhei uma class designada FormtoMail que irá ser, nada mais que um conjunto de métodos para enviar o email com todos os dados do formulário.
O único ponto que pode causar algum problema de compreensão é o método getPOST($postvar), cujo objectivo é criar uma mensagem a partir de uma variável do tipo $_POST, passada para o método como $postvar.
1. function getPOST($postvar){
2. foreach($postvar as $k=>$v)
3. if($k!=”email” && $k!=”subject”)
4. $this->message .= $k.” : “.$v.”\r\n”;
5. }
Os números á esquerda representam o número de linha do método, sendo assim mais fácil referenciá-los na explicação.
Na definição do método getPOST, linha 1, o ponto importante é notar que a variável $postvar é o único parâmetro de entrada.
Como pode observar alinha 2 é talvez o ponto mais complexo, para iniciantes ao PHP, do método, usando a Estrutura de Controle, foreach, que irá efectuar um ciclo que percorrerá todos os índices do array representado pela variável $postvar, e dividir os resultados de cada indice em $k (key ou chave ou indice) e $v (valor dessa posição do array), é esta a linha chave de todo o script.
Na linha 3 iremos ignorar os campos “email” e “subject” pois estes campos são reservados na nossa estrutura, foram escolhidos estes nomes para o campos no entanto poderiam ter sido escolhidos quaisquer outros, desde que coerentes com os nomes no formulário.
A linha 4 é a responsável por construir a estrutura de cada linha da mensagem a enviar no email, neste caso usámos a seguinte estrutura “nome do campo : valor escrito pelo utilizador”.
Elementos Visuais e Execução da Classe
Terminada a explicação do método mais importante e crucial da nossa classe, irei explicar de seguida o ficheiro principal, é este ficheiro que irá conter todos os elementos visuais.
O nosso ficheiro de execução, designado neste caso como index.php, podendo tomar outros nomes caso deseje, inicia-se com a declaração das variáveis.
1. $str[”ok”] = “Os seus dados foram enviados com sucesso!“;
2. $str[”fail”] = “Ocorreu um erro no envio dos seus dados!“;
3. $email[”email”] = “josedasilva@josedasilva.net”;
4. $email[”subject”] = “Email de Formulário”;
Mais uma vez os números são apenas indicativos.
A variável $str, na linha 1 e 2, é um array que irá conter a mensagem a mostrar ao utilizador após o envio dos dados do formulário, $str[”ok”] no caso de sucesso e $str[”fail”] no caso de insucesso.
Como pode visualizar na linha 3 é definida a variável $email[”email”], que contem o email para onde desejam que sejam enviados os emails através do formulário do website, por seu lado na linha 4 a variável $str[”subject”] conterá o texto a colocar no email no campo “Assunto”.

Para terminar, repare que a instrução [ if(isset($_POST[”email”])) ], efectua a deteção se o formulário foi enviado, e neste caso deve enviar o email e mostrar no final a mensagem, ou por outro lado, se mostra o formulário de envio de dados.
O restante do ficheiro não carece de muitas explicações detalhadas, uma vez que contêm apenas o formulário e o código de envio do email propriamente dito.

Download

por José Silva em 2005-04-01
Idioma Original

Ver Comentários: 0 | Comentar Recurso
 

On-line: 1 Visitante - 0 Membros

[Acerca]  [Regras]  [Privacidade]  [Contacto

© 2004-2005 André Ferreira