amarelobr 0 Denunciar post Postado Fevereiro 17, 2011 Boa tarde a todos pessoal sou velhinho aqui no site, más estou começando a postar Scripts para o pessoal que trabalha com PHP. Captcha Download Vamos lá!! Bem pessoal esse Script que vou apresentar abaixo ele trata de um formulário em PHP que trabalha com Captcha e Sessão para validação dos dados e Chave de Segurança para enviar o E-mail, pois todos nós Programados sabemos que Administrar um sistema não é nada fácil, más pior ainda é receber e-mail de usuários ou melhor BOOTS diariamente com nada escrito no corpo da mensagem, bem vamos lá, segue abaixo o Código sem muito detalhe. Vamos lá, o codigo abaixo se chama formulario.php <!--Se o Email for Enviado ele mostrar a mensagem que colocamos na Variavel $enviado--> <h1><?php if($enviado){ echo $enviado;}?></h1> <div class="formulariocontato"> <form name="contato" action="" method="post" id="contato"> <fieldset> <legend>Formulario de Contato</legend> <label> <span>Nome:</span> <input type="text" name="nome" /> </label> <label> <span>E-mail:</span> <input type="text" name="email"/> </label> <label> <span>Telefone:</span> <input type="text" name="telefone"/> </label> <label> <span>Assunto:</span> <input type="text" name="assunto" /> </label> <label> <span>Mensagem:</span> <textarea name="mensagem" cols="30" rows="10"></textarea> </label> <label> <span style="margin-bottom:5px;">Chave de Segurança:</span> <div class="captcha" style="width:280px;float:right; margin-bottom:10px;"> <img src="captcha/captcha.php" align="middle" id="imgCaptcha" title="Chave de Segurança"/> </div> </label> <span style="margin-top:5px;"></span> <label> <input type="text" class="" name="codigodeseguranca"/> <!--Se o Código de Segurança estiver Inválido mostrar o erro que colocamos na Variavel $erro --> <?php echo $erro;?> </label> <span style="margin-top:5px;"></span> <br /> <input type="image" src="images/enviar.gif" title="Enviar Contato" /> </fieldset> </form> Bem pessoal, esse é o código HTML do nosso Formulário, beleza ? Vamos agora ao nossa pagina que vai receber o POST trata-los da forma correta e enviar o E-mail com a função nativa mail(); vocês podem ultilizar um include dentro da própria página formulario.php, para enviar o E-mail, ou atribuir uma página na action da form e trabalhar com arquivo externo, bem vai da necessidade de cada um, isso é apenas um exemplo de como trabalharmos.!!! <?php session_start(); if($_POST) { //Nesta Linha estamos pergutando ao PHP se o código de segurança é válido e colocando ele em uma sessão if( $_SESSION['codigodeseguranca'] == $_POST['codigodeseguranca']) ) { //Capturamos os POST $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; //MOntamos os Headers do E-mail $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: ".$email."\n"; $headers .= "Return-Path: Seu Site <atendimento@liberalimesonline.com.br>\r\n"; $mensagem = " <b>Nome:</b> ".$nome."<br> <b>E-mail:</b> ".$email."<br> <b>Assunto:</b> ".$assunto."<br> <b>Telefone:</b> ".$telefone."<br> <b>Mensagem:</b> ".$mensagem."<br>"; //Se o E-mail for enviado com sucesso olha oque ele vai fazer! if(mail("atendimento@liberalimesonline.com.br", "Formulário de Contato", $mensagem, $headers)){?> //Atribuiremos a variavel $enviado o valor ->Mensagem Enviada com Sucesso, que vai servir para mostrarmos na nossa pagina de formulário, que o e-mail foi enviado com sucesso, caso o E-mail não tenha sido enviado com sucesso vai para a condição de baixo e atribuia os campos na Sessao, se for enviado ele vai limpar a sessão. unset($_SESSION['codigodeseguranca']); unset($_SESSION['nome']); unset($_SESSION['email']); unset($_SESSION['telefone']); unset($_SESSION['assunto']); unset($_SESSION['mensagem']); } }else{ //Se não enviar o E-mail, nós iremos gravar na sessão todos os campos digitados nos campos para que o usuário nao prescise digitar novamamente, pois não estamos ultilizando Ajax ou Jquery que poderia ser mais dinâmico. $erro = $_SESSION['error'] = "<font color=red font-size=12>Chave de segurança inválida"; $nome = $_SESSION['nome'] = $_POST['nome']; $email = $_SESSION['email'] = $_POST['email']; $telefone = $_SESSION['telefone'] = $_POST['telefone']; $assunto = $_SESSION['assunto'] = $_POST['assunto']; $mensagem = $_SESSION['mensagem'] = $_POST['mensagem']; } } ?> Bem pessoal é minha primeira contruibuição, Caso esteje com algum erro postem aí, esta aberto a críticas e elogios. Abraço a todos. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Fevereiro 17, 2011 O único erro foi que você postou no lugar errado! Mas valeu aí pela contribuição! Ah, achei um erro aqui! Você fechou a tag do php, mas não a abriu novamente: //Se o E-mail for enviado com sucesso olha oque ele vai fazer! if(mail("atendimento@liberalimesonline.com.br", "Formulário de Contato", $mensagem, $headers)){?> Aí após isso, você não abriu a tag do php e depois você usou a tag de fechamento sem colocar a de abertura: ?>(Última linha!) Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 17, 2011 posta no Imasters Code , ou laboratorio de scripts ( Se ja não tiver postado ) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
amarelobr 0 Denunciar post Postado Fevereiro 18, 2011 Obrigado pela Observações!!! Tópico removido para->Code Imasters Abraço. Compartilhar este post Link para o post Compartilhar em outros sites