Configurando o Form Anti-Spam | André Buzzo
contato@andrebuzzo.com.br | (11) 9-8551-3500 | facebook | skype:andrebuzzowebdesign

Configurando o Form Anti-Spam

Publicado na categoria Vídeo Aulas, Vídeo Aulas - PHP & MySql com 4.773 visualizações e 20 comentários

Fala Pessoas!

Nessa segunda parte, vamos configurar o formulário para bloquear o envio de spams, mas permitido o recebimento de cadastros efetuados por usuários reais!

Aguardem que na terceira parte, vamos configurar o banco de dados e o arquivo de conexão para enviar esses cadastros em seu devido lugar!

A primeira parte dessa vídeo aula, você pode acessar nesse link!

Abraços e bom estudo a todos!

Voltar à página anterior!

  • Neto

    André cara eu segui todas as suas instruções e ainda dei uma olhada no banco de script pra ver se tinha deixado passar algo mas, ainda estou recebendo spans! tem outra forma de entrar spans sem ser pelo formulário? obrigado por compartilhar seus conhecimentos! se quiser pode dar uma olhada no formulário http://pousadameurefugio.com.br/recados/recados.php

    • Fala Neto!

      Cara..no seu form, cadê o campo que fica oculto via CSS?

      Abraços!

  • KelvenColares

    Muy Bueno Tuco! Olha aew o tuco ensinado as pessoas, daqui a uns anos você vai ser ér professor de Facu Velho! rs’ Vlw belo Vídeo;;

    • Fala Kelven!

      Que isso véio…rsrs… acho que não serei não!! hahahahaha

      Abraços!

  • Jefferson Pereira da Silva

    Parabéns André pelas vídeos aulas, estou começando PHP, e estou evoluindo muito com as suas VA.

    Nota 10!!!

    • Fala Jefferson!

      Cara…o mérito de sua evolução é totalmente seu compadre!

      Forte abraço e bons estudos!

      Até!

  • Jamerson

    Valew André perfeito kra
    o site jah tah no meus favoritos
    Abraço e mto obrigado.

    • Fala Jamerson!!!

      Disponha meu amigo!!

      Abraços!

  • Jamerson

    Olá André
    Fiz tudo certo q nem no tutorial tah funcionando belezinha e aproveitando para agradece vc pelo tutorial e parabeniza-lo pelo site.
    soh queria saber pq aparece essa menssagem quando valido na W3C?

    Below is a list of the warning message(s) produced when checking your document.
    Line 112, Column 31: reference to non-existent ID “Nome”
    Nome:

    This error can be triggered by:

    A non-existent input, select or textarea element
    A missing id attribute
    A typographical error in the id attribute
    Try to check the spelling and case of the id you are referring to.

    abraço

    • Fala Jamerson!!

      Obrigado pela visita e pelos comentários meu velho!!

      Quanto à validação, ele tá reprovando no Label é isso?

      É que na correria, eu não me atentei a isso compadre! Para resolver o problema, vc precisa referenciar o Label ao campo Input da seguinte maneira:

      <label for="Nome">Nome</label>
           <input type="text"   name="nome" id="Nome" />

      Dessa maneira, ele passa no validador ok?

      Abraços!

  • Joel Correia

    Valeu André por tira essa minha duvida e muito obrigado mais uma vez, e continue assim cara posttando essas video alas ai…pois são show de bola cara.
    Abraço!

    • Que isso compadre!!

      Disponha e muito obrigado!!

      Abraços!

  • Joel Correia

    é servidor local…eu to usando o EasyPHP-5.3.5.0
    me desculpe estar te encomadando ai cara e que to começando agora com php…rss
    Abraços!

    • Então resolvemos o seu problema agora!!

      Servidor local não faz esse serviço ok? rs

      Não dá para mandar mensagem via e-mail utilizando servidor local… pelo menos eu já tentei inúmeras opções/configurações, mas nunca rolou!! rs

      Agora, servidor web é outra história!!

      E viu, você não tá incomodando de jeito nenhum!! Precisando, e eu podendo lhe ajudar, estamos aí!

      Abraços!

  • Joel Correia

    Não André esse é o que aparece na pagina do navegador
    to achando que pode ser o servidor q ta dando erro tipo exibe todas menssagem todas menssagem ao mesmo tempo.
    exemplo: sua mensagem foi enviada com sucesso e todas as outras. Sei la cara eu copei esse codigo ai que voçê postou e continua a mesma coisa.
    até mais!

    • Cara..só uma pergunta…vc tá utilizando esse script dentro do servidor web ou servidor local?

      Abraços!

  • Joel Correia

    Ola André tudo bom!
    eu sempro acampanho sua video aula e gosto muito, pois tenho aprendido muito com elas.
    mas preciso qu vc me ajude pois eu fiz tudo certinho como na video aula, mas quando do um F5 o navegador me retorna isso:
    Não preencha esse campo! Seu cadastro, não pode ser efetuado! Preencha novamente!

    “; echo ”

    Voltar
    “; } else { if (($nome == “”) || ($email == “”)){ echo ”

    Caro usuário nenhum campo pode ficar em braco! Preencha corretamente!
    “; echo ”

    Voltar
    “; return false; } if (substr_count($email, “@”) == 0 || substr_count($email “.”) == 0){ echo ”

    Caro usuário nenhum campo pode ficar em braco! Preencha corretamente!
    “; echo ”

    Voltar
    “; return false; } $headers = “Content-type:text/html; charset=URF-8”; $headers = “From: $email”; $para = “joel.correia-web@hotmail.com” $menssagem .= “De: $nome”; $menssagem .= “E-mail: $email”; $envia = mail($para, “Cadastro no site”, $menssagem, $headers); echo ”

    $nome, seu cadastro foi efetuado com sucesso! Obrigado!”; echo ”

    Voltar
    “; } ?>
    Preciso saber o que fis de errado.
    serei muito grato se puder tirar essa minha duvida.

    • Fala Joel!!

      Obrigado pelo seu comentário e por me escrever! Fico contente que esteja aprendendo alguma coisa comigo!! rs

      Agora, vamos lá! Que “diabos” de código foi esse que você copiou aqui no e-mail velho?

      Eu não consegui entender nada!!! rsrs

      Se você está realmente tentando utilizar isso, não vai rodar !

      Tente o seguinte:
      [php]

      <?php

      $spam = $_POST[‘antispam’];
      $nome = $_POST[‘nome’];
      $email = $_POST[‘email’];

      if ($spam != "zero") {
      echo "<p>Não preencha esse campo! Seu cadastro, não pôde ser efetuado! Preencha novamente!</p>";
      echo "<p><a href=’index.php’>Voltar</a></p>";
      } else {
      if (($nome == "") || ($email == "")){
      echo "<p>Caro usuário, nenhum campo pode ficar em branco! Preencha corretamente!</p>";
      echo "<p><a href=’index.php’>Voltar</a></p>";
      return false;
      }
      if(substr_count($email, "@") == 0 || substr_count($email, ".") == 0) {
      echo "<p>Caro usuário, nenhum campo pode ficar em branco! Preencha corretamente!</p>";
      echo "<p><a href=’index.php’>Voltar</a></p>";
      return false;
      }

      $headers = "Content-type:text/html; charset=UTF-8";
      $headers = "From: $email";
      $para = "contato@andrebuzzo.com.br";
      $mensagem .= "De: $nome";
      $mensagem .= "E-mail: $email";

      $envia = mail($para, "Cadastro no site", $mensagem, $headers);

      echo "<p><strong>$nome</strong>, seu cadastro foi efetuado com sucesso! Obrigado!";
      echo "<p><a href=’index.php’>Voltar</a></p>";
      }

      require ‘conexao.php’;

      $insere = ("INSERT INTO cadastro (id, nome, email, codStatus) VALUES (‘NULL’, ‘$nome’, ‘$email’, ‘0’)");

      $insereBanco = mysql_query($insere);

      ?>

      [/php]

      Qualquer dúvida, estou a disposição!

  • Ademir

    André,

    porque você não colocou no input do span como ready=only , assim não teria como ser digitado nada dentro do campo.

    • Fala Ademir!

      Eu não coloquei esse tipo de regra (até mesmo porque não a conhecia! Obrigado! rs), porque, se ela fizer exatamente isso que você está dizendo, eu receberia spams normalmente no meu e-mail. Eu PRECISO que ele escreva algo para que possa ser bloqueado!

      Abraços!