Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2008, 04:29
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Respuesta: validar captcha

Bueno, como quieras. Pero te advierto que como ejercicio teórico o experimental te va a valer, en la práctica sería como intentar construir un muro a tu casa y dejarlo a medias: no sirve para nada.

Hay una cosa que me desconcierta un poco... ¿Qué es javascript y qué PHP? Entiendo validador() y checkcaptcha(whatYouTyped) como javascript, pero luego al llamarlas haces:
Código PHP:
<?php include ("includes/validador.php");
$n validador();
echo 
"<input type='hidden' name='verifica' value='$n' />";?>
Y eso es PHP...

¿Tienes funciones javascript y PHP que se llaman igual y hacen lo mismo? ¿O es que has confundido los dos lenguajes? Si vas a hacer PHP y javascript mi consejo es que desarrolles uno, y cuando esté listo y funcional empieces con el otro. Si vas con los dos a la vez puedes liarte.

Comprueba este ejemplo, había varios errores:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>Página nueva</title>
<
style type="text/css">
.
welldone background-colorgreen; }
</
style>
</
head>

<
body>


<
script type="text/javascript">
<!--


// document.getElementById abreviado
function $(x) { return document.getElementById(x); }


function 
rand(a,b) {
    return 
Math.ceilMath.random()*Math.abs(b-a) )+Math.min(a,b);
}

// Primero aqui genero un numero aleatorio que se guarda en la variable $num
var num;        // debe ser global para que todas las funciones puedan trabajar con él
function validador() {
    
num rand(1000,9999);
    $(
"ponAquiElNumero").innerHTML num;
    return 
num;
}

// Aqui es donde quiero validar la variable $num con el texto que ingreso en un formulario que les presento enseguida pero el problema que tengo es que no valida.

function checkcaptcha(whatYouTyped) {
    var 
fieldset whatYouTyped.parentNode;
    var 
txt whatYouTyped.value;
    if (
txt == num) {
        
fieldset.className "welldone";
    }
    else
        
fieldset.className "";
}

window.onload validador;

// -->
</script>




---Aqui es donde escribo el valor del captcha y se valida con la funcion checkcaptcha

<fieldset>
<strong id="ponAquiElNumero"></strong>
<label for="captcha">Verificacion:</label>
<input type="text" id="captcha" size="4" maxlength="4"
onkeyup="checkcaptcha(this);" />
<span class="hint">Escribe los numeros en la caja de texto</span>
</fieldset>


</body>
</html> 
Ponías var txt = whatYouTyped.value y luego en la condicional txt.value (dos value); la variable num tiene que ser global... y todo lo que parecía PHP lo he transformado a javascript.


Espero que avances con este post.

Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.