Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Good

[Resolvido] gerando outro código

Recommended Posts

No chrome está gerando outro código de validação:

 

criar_imagem.php

<?php
session_start();

create_image();
exit();

function create_image(){

    $md5_hash = md5(rand(0,999));
    $security_code = substr($md5_hash, 15, 6);
    $_SESSION["codigo_seguranca"] = $security_code;

    $width = 100;
    $height = 20;

    $image = ImageCreate($width, $height);

    $white = ImageColorAllocate($image, 255, 255, 255);
    $black = ImageColorAllocate($image, 0, 0, 0);
    $grey = ImageColorAllocate($image, 204, 204, 204);

    ImageFill($image, 0, 0, $black);

    ImageString($image, 3, 30, 3, $_SESSION["codigo_seguranca"], $white);

    ImageRectangle($image,0,0,$width-1,$height-1,$grey);
//    imageline($image, 0, $height/2, $width, $height/2, $grey);
//    imageline($image, $width/2, 0, $width/2, $height, $grey);

    header("Content-Type: image/png");

    imagepng($image);

    ImageDestroy($image);

}
?>

código PHP que valida o captcha:

// Verificando o captcha
if(isset($_POST['captcha'])) {

   $valor = $_POST['captcha'];
   if(strlen($valor) <= 5) {
  	  $msg = "O código deve ter 6 carácteres";
   } elseif ($valor != $_SESSION["codigo_seguranca"]) {
	  $msg = "O código está errado";
   }

}

 

ajax

var verifica = false;
function getEnvio(){
    var verifica = false;
    try{
        verifica = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
      try{
         verifica = new ActiveXObject('Microsoft.XMLHTTP');
      } catch(E) {
         verifica = false
      }
    }

    if(!verifica && typeof XMLHttpRequest != 'undefined'){
       verifica = new XMLHttpRequest();
    }
    return verifica;
}


function verifCaptcha(){
    var valor = document.getElementById('captcha').value;
    var valor2 = document.getElementById('respCaptcha');

    valor2.innerHTML = "<img src='img/loading.gif'> verificando...";

    var verifica = getEnvio();
    if(verifica){
    verifica.onreadystatechange = function (){
        if(verifica.readyState == 4){
            if(verifica.status == 200){
                valor2.innerHTML = verifica.responseText;
            }
        }
    }
    verifica.open('POST','ajax/validacao.php',true);
    verifica.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    verifica.send('captcha='+valor);
    }
}

 

Alguém sabe porque que fica gerando outro código de validação no chrome? Testei no firefox e ie e deram retorno de que o código estava correto.. eu dei um echo no código php qe valida e o código saía diferente..

 

obrigado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.