Formulário de contato em PHP com Captcha | DDR Host
Início / Central do Assinante / Base de Conhecimento / Segurança / Formulário de contato em PHP com Captcha
Neste tutorial vamos criar um formulário de contato em PHP utilizando o recurso de ReCaptcha para o envio de e-mail. Para criar este formulário siga os passos abaixo:
CADASTRANDO O CAPTCHA NO GOOGLE
Antes de iniciar qualquer configuração, vamos precisar realizar alguns passos no sistema de ReCaptcha do Google. Caso tenha dúvidas você pode seguir o tutorial de Como criar um ReCaptcha do Google.
CONFIGURANDO A FUNÇÃO allow_url_fopen
Antes de passar para a etapa do formulário de contato, vale conferir se a sua hospedagem está com a função allow_url_fopen ativada no PHP. Para isto basta seguir os passos abaixo:
Windows - Plesk: Função ativada por padrão.
Linux - cPanel:
Acessando o cPanel do domínio, clique no ícone "Selecionar Versão do PHP", selecione uma versão do PHP diferente do padrão do servidor e depois clique no link superior direito escrito "Switch To PHP Options" para alterar ou habilitar a função desejada.
CRIANDO O FORMULÁRIO DE CONTATO EM HTML
Após realizar toda a configuração do ReCaptcha, é necessário criar um formulário simples de contato em HTML.
Código em HTML do arquivo: formulario-contato.php
<?php include 'envia.php';
Código CSS- style.css
background: #46ac00;
VALIDANDO O FORMULÁRIO DE CONTATO E ENVIANDO E-MAILS
Agora que o formulário está montado e configurado com o ReCaptcha será necessário executar todas as validações e configurar o envio de e-mails. Para isto, utilizaremos a classe PHPMailer. Ela será responsável por fazer todo o procedimento de envio do e-mail, seguidamente da validação do ReCaptcha.
Você precisará destes arquivos para que a classe PHPMailer funcione:
class.smtp.php – A classe que vai permitir os envios de e-mails via SMTP
Estes arquivos deverão estar na mesma pasta do seu arquivo envia.php que será criado logo abaixo. Neste arquivo será necessário efetuar as configurações com os dados do seu servidor de SMTP e do SECRET-KEY do ReCaptcha.
Código em PHP do arquivo: envia.php
$msg->Host = '|*MAIL.SEUDOMINIO.COM.BR*|';
$msg->Subject = $_POST['assunto'];
A primeira coisa que este arquivo fará é validar o Captcha, em seguida ele iniciará a montagem da mensagem e por fim o envio do e-mail.