Everton_Pabon Postado Outubro 23, 2008 Denunciar Share Postado Outubro 23, 2008 então pessoal, esse é meu primeiro post aqui, to estudando php faz um mês, nunca programei nada mas to gostando de aprenderTo postando ai meu primeiro programa, um form de contato e gostaria que vocês dessem uma olhada pra ver se meu codigo ta bom pois quem ta começando ainda não tem as manha de saber se o codigo ta limpo ou não.. tirei como base alguns exemplos da net e tambem de livros e montei o form de acordo com meu gosto, pra estudo mesmo mas ele ta funcionando beleza, quem quiser usar tá aí..Abraço!formulario.php<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Formulário de contato</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="enviar.php" method="post"> Seu Nome<br><input type="text" name="nome" size="50"><br> Seu Email<br><input type="text" name="remetente" size="50"><br> Escolha a opção de seu interesse:<br> <select name="departamento" size="1"> <option value="comprar">Comprar</option> <option value="informacoes">Informações sobre Produto</option> <option value="lojista">Lojista</option> <option value="anunciar">Anunciar no Site</option> <option value="outros">Outros</option> </select><br> Assunto<br><input type="text" name="assunto" size="50"><br> Mensagem<br><textarea name="mensagem" rows="5" cols="50"></textarea><br> <input type="submit" value="Enviar"> <input type="reset" value="Apagar"> </form> </body> </html> enviar.php <?php $nome = $_POST["nome"]; $assunto = $_POST["assunto"]; $mensagem = $_POST["mensagem"]; $departamento = $_POST["departamento"]; // lista de opções $remetente = $_POST["remetente"]; $destino = "fulano@site.com"; // Email do seu site aqui // Aqui vai bloquear inserçao de html palos campos do formulario // na verdade não bloqueia, apenas trasnforma em texto :) $nome_ok = htmlspecialchars($nome); $assunto_ok = htmlspecialchars($assunto); $mensagem_ok = htmlspecialchars($mensagem); $remetente_ok = htmlspecialchars($remetente); // cabeçalho do email $headers = "From: $nome_ok - $departamento - <$remetente_ok>\r\n"; $headers .= "Content-Type: text/html\n"; $headers .= "MIME-Version: 1.0\n"; // organizaçao da mensagem no email $msg = "Email enviado através do site:<br><br>"; $msg .= "<strong>Nome:</strong><br>$nome_ok<br>"; $msg .= "<strong>Email:</strong><br>$remetente_ok<br>"; $msg .= "<strong>Departamento:</strong><br>$departamento<br>"; $msg .= "<strong>Assunto:</strong><br>$assunto_ok<br>"; $msg .= "<strong>Mensagem:</strong><br>$mensagem_ok"; // aqui vai verificar se algum campo do formulario está em branco, // retornando uma mensagem de erro if(empty($nome_ok)) { echo "<script type='text/javascript'> alert ('Você deve preencher seu Nome!');history.back(); </script>"; exit; } if(empty($remetente_ok) or strstr($remetente_ok, '@')==FALSE) // se não colocar arroba(@) ou deixar em branco da erro { echo "<script type='text/javascript'> alert ('Você deve preencher seu Email corretamente!');history.back(); </script>"; exit; } if(empty($assunto_ok)) { echo "<script type='text/javascript'> alert ('Você deve preencher o campo Assunto!');history.back(); </script>"; exit; } if(empty($mensagem_ok)) { echo "<script type='text/javascript'> alert ('Você deve digitar uma Mensagem!');history.back(); </script>"; exit; } // aqui envia o email mail($destino, $assunto_ok, $msg, $headers); { echo "<script type='text/javascript'> alert ('Obrigado por entrar em contato!'); </script>"; echo "<script>location.href='../'</script>"; // nesta linha manda voce para a pagina inicial do site (pode alterar) } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Norivan Oliveira Postado Outubro 23, 2008 Denunciar Share Postado Outubro 23, 2008 Movido de PHP para Avaliações pois se tratra de uma avaliação não uma dúvida.Legal que você esteja aprendendo PHP, parabéns :)Quanto a avaliação, está bom para quem está aprendendo mas para ficar legal você deve tratar os dados vindos do formulário, valida-los, como no caso do e-mail, você deveria pelo ao menos checar se o usuário digitou o @,, exemplo:if(!str_replace("@","@",$_POST["remetente"]){ die("email invalido"); }Tb deveria verificar se a função mail foi realmente executada com try...catch ou ifE também seria legal você checar se ela está ativada com function_exists() Citar Link para o comentário Compartilhar em outros sites More sharing options...
Everton_Pabon Postado Outubro 23, 2008 Autor Denunciar Share Postado Outubro 23, 2008 Po valeu mano vo estudar essas dicas que voce passou.. té mais Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
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.