Recebendo vários Spans.

29/10/2013

0

PHP

Bom dia a todos estou, estou com um problemão em um Site ele chega a travar por causa dos spans que vem recebendo. Pesquisando na Net vi alguns formas de tentar contornar isso, mas até o momento sem resultados.

Fiz teste localmente e no servidor e não deixa passar se não digitar o Captcha corretamente, mesmo assim continuo recebendo vários Spans. Se alguém puder dar alguma outra dica ficarei muito grato.

Estou fazendo desta forma:

<?php if(isset($_POST['enviarComments'])){
	$spam      			= strip_tags(trim($_POST['antispam']));
	$commentsNome       = strip_tags(trim($_POST['nome']));
	$commentsEmail      = strip_tags(trim($_POST['email']));
	$commentsComentario = strip_tags(trim($_POST['comentario']));
	$commentsIncluidoEm = date('Y-m-d H:i:s');
	$commentsStatus     = 'pendente';
	$codigoCaptcha		= strip_tags(trim($_POST['codigoCaptcha']));

	if($_POST['codigoCaptcha'] == $_SESSION['rand_code']){//Verifica Captcha se for igual continua
		$sqlCadastraComentarios  = 'INSERT INTO comentarios (nome, email, comentario, incluidoEm, status) ';
		$sqlCadastraComentarios .= 'VALUES (:nome, :email, :comentario, :incluidoEm, :status)';

	try{
		$queryCadastraComentarios = $conecta->prepare($sqlCadastraComentarios);
		$queryCadastraComentarios->bindValue(':nome',$commentsNome,PDO::PARAM_STR);
		$queryCadastraComentarios->bindValue(':email',$commentsEmail,PDO::PARAM_STR);
		$queryCadastraComentarios->bindValue(':comentario',$commentsComentario,PDO::PARAM_STR);
		$queryCadastraComentarios->bindValue(':incluidoEm',$commentsIncluidoEm,PDO::PARAM_STR);
		$queryCadastraComentarios->bindValue(':status',$commentsStatus,PDO::PARAM_STR);
		$queryCadastraComentarios->execute();

	echo '<div class="ok1">Comentário cadastrado com Sucesso.<br />Aguardando moderação...</div>';
	
		}catch(PDOexception $error_cadastro){
			echo '<div class="no1">Erro ao cadastrar seu comentário.<br />Por favor, tente novamente mais tarde.</span><br /><br />';
		}
	}else{//Se Captcha for diferente
		echo '<div style="color:red">Código não confere!</div><br /><br />';
	}				
}
?>
    <form name="formComments" id="formComments" action="" method="post" enctype="multipart/form-data">
    	<span class="invisivel">Por favor, não preencha esse campo, ele serve apenas para bloquear envio de spams!</span>
		<span class="invisivel"><input type="text" name="antispam" value="zero" /></span>
    	<label for="nome">Nome: <span>Obrigatório</span></label>
   		<input type="text" id="nome" name="nome" value="<?php if($commentsNome) echo $commentsNome; ?>">
    	<label for="email">Email: <span>Obrigatório, não será revelado</span></label>
   		<input type="text" id="email" name="email" value="<?php if($commentsEmail) echo $commentsEmail; ?>">
        <label for="conetario">Comentário: <span>Obrigatório</span></label>
        <textarea name="comentario" id="comentario" cols="10" rows="3"><?php if($commentsComentario) echo $commentsComentario; ?></textarea>
        <label for="nome">Informe o código abaixo!: <span>Obrigatório</span></label>
        <input type="text" name="codigoCaptcha" />
        <img src="captcha.php"/>
		<input type="submit" name="enviarComments" id="enviarComments" value="Enviar" class="button">
        <div class="clear"></div>
  	</form>


captcha.php
<?php
session_start();
$stringCaptcha = '';

for($i = 0; $i < 5; $i++){
	//Números de referência à Tabela ASCII (Tudo em LowerCase)
	$stringCaptcha .= chr(rand(97, 122));
}

//Cria SESSION com o código
$_SESSION['rand_code'] = $stringCaptcha;

//Local onde estão as fontes para criar a imagem do captcha
$dirFontes = 'fontes/';

//Config das cores, imagens etc.
$image = imagecreatetruecolor(170, 60);
$black = imagecolorallocate($image, 0, 0, 0);
$color = imagecolorallocate($image, 255, 0, 0); // vermelho
$white = imagecolorallocate($image, 255, 255, 255);

imagefilledrectangle($image,0,0,399,99,$white);
imagettftext($image,30,0,10,40,$color, $dirFontes."arial.ttf", $_SESSION['rand_code']);

//Lançamos um header disendo que esta "página é uma imagem"
header("Content-type: image/png");
imagepng($image);
?>
Adilson Rumao

Adilson Rumao

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar