Quote* Criado para aqueles que programam em outra linguagem mas também necessitam de PHP
Neste tópico mostrarei um exemplo simples, mas eficaz.
Um cliente meu necessitou de receber formulários por e-mail, já que seu site era apenas em html + alguns menus e animações em flash (nada d+).
Daí eu não sabia como ia fazer isso, pois o jeito mais comum junto com
HTML puro seria utilizando
PHP e eu mal sabia uma linha.
Foi aí então que o
@Reeves me deu uma ajudinha e consegui reformular este tópico. =D
Primeiro (e se você quiser), utilize uma validação em ajax.
QuoteMas onde encontrerei, sou novato?!
Bem aqui, brother: Dreamweaver - Validação de formulário em AJAX (http://www.forum.darkers.com.br/index.php?topic=11042.0)
Depois é criada a página em php para tratar o formulário.
<div id="container">
<div id="header">
<h3>Informações</h3>
<!-- end #header --></div>
<div id="mainContent">
<?php
$emailDestino = "seu_email@mail.com";
$nome = $_POST["nome"];
$email = $_POST["email"];
$evento = $_POST["evento"];
$data = $_POST["data"];
$local = $_POST["local"];
$cidade = $_POST["cidade"];
$ap = $_POST["ap"];
$oa = $_POST["oa"];
$pe = $_POST["pe"];
$comments = $_POST["comentarios"];
$assunto = "Orçamento - Sonorização";
//$mensagem = $_POST["mensagem"]; // neste caso seria apenas um campo para mensagem...
$mensagem = 'Orcamento - Sonorização:
Endereço IP: '.$REMOTE_ADDR.'
De: '.$nome.'
E-mail: '.$email.'
DADOS DO EVENTO
Evento: '.$evento.'
Data: '.$data.'
Local: '.$local.'
Cidade: '.$cidade.'
Atração principal: '.$ap.'
Outras atrações: '.$oa.'
Público estimado: '.$pe.'
Observações: '.$comments.'
'.$mensagem;
$validarEmail = '/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i';
// certificar de que o formulário está sendo postado de meu servidor
if(!(isset($_SERVER['HTTP_REFERER']) &&
stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))) {
$serverInvalido=true;
echo '<center><font color="#000000" size="4" face="arial">Você não tem permissão para fazer isso!<p></font></center>';
}
elseif (preg_match_all("/<a|http:/i", implode($_POST), $out) > 0) {
echo '<center><font color="#000000" size="4" face="arial">É proibido postar qualquer link neste formulário!</font></center>';
// exit; ela encerra o código nesta linha
}
elseif ($nome == "") {
/* também poderia ser assim:
elseif (empty($nome)) { */
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com seu nome!<p></font></center>';
}
elseif ($email == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com seu e-mail!<p></font></center>';
}
elseif (!preg_match($validarEmail, $email)) {
echo '<center><font color="#000000" size="4" face="arial">O e-mail "<u>'.$email.'</u>" não parece ser válido!<p></font></center>';
}
elseif ($evento == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com o evento!<p></font></center>';
}
elseif ($data == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com a data do evento!<p></font></center>';
}
elseif ($local == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com o local do evento!<p></font></center>';
}
elseif ($cidade == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com a cidade onde acontecerá o evento!<p></font></center>';
}
elseif ($ap == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com a atração principal!<p></font></center>';
}
elseif ($oa == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com a(s) outra(s) atração(ões)!<p></font></center>';
}
elseif ($pe == "") {
echo '<center><font color="#000000" size="4" face="arial">Por favor, volte e preencha com o público estimado!<p></font></center>';
}
// checa se possui conteúdo repetido pelo usuário nos inputs
elseif($nome == $email) {
$spam=true;
echo '<center><font color="#000000" size="4" face="arial">Por favor, não brinque com o formulário!<p></font></center>';
}
elseif (mail($emailDestino,$assunto,$mensagem,"From: $email")) {
echo '<center><font color="#000000" size="4" face="arial">'.$nome.', <p>Recebemos o seu e-mail com sucesso!<p>Entraremos em contato o mais rápido possível.</font></center> ';
}
?>
<!-- end #mainContent --></div>
<div id="footer">
<p><a href="sonorizacao.htm"><font color=blue face="verdana" size="2">voltar</font></a></p>
<!-- end #footer --></div>
<!-- end #container --></div>
Bom, eu utilizei validações separadamente, o que é mais trabalhoso.
Ao invés de ser um
if(nome == "") poderia ser
if(empty(nome) or (empty(email))... e por aí vai...
Mas eu assumo:
Formail em PHP é bem menos trabalhoso do que em
Java, pois até a lógica da coisa é mais profissional. ;D