Ver Mensaje Individual
  #32 (permalink)  
Antiguo 01/05/2008, 17:48
paulkees
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Re: APORTE: Sistema de Captcha

Hola nuevamente okram...

Gracias por seguir ayudándome.

Bueno, he colocado la comprobación como me indicaste en el archivo registro.php pero me da continuamente "captcha incorrecto", como si no estaría haciendo la verificación.

Para esto coloqué en mi php.ini "display_errors = On" y me tira Notice: Undefined index: phpcaptcha_codigo in C:\... \PHPCaptcha.lib.php on line 70

La linea 70 corresponde a:
$sc = ($mayus == true) ? $_SESSION['phpcaptcha_codigo'] : strtolower($_SESSION['phpcaptcha_codigo']);

La verdad que no se si eso quiere decir algo con respecto a la comprobación.

Saludos.-

Primera parte del archivo registro.php donde coloqué la comprobación del captcha
Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','usuario','contraseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('BD')or die ('Error al seleccionar la Base de Datos: '.mysql_error());


//añadimos la funcion que se encargara de generar un numero aleatorio
function genera_random($longitud){
    
$exp_reg="[^A-Z0-9]";
    return 
substr(eregi_replace($exp_reg""md5(rand())) .
       
eregi_replace($exp_reg""md5(rand())) .
       
eregi_replace($exp_reg""md5(rand())),
       
0$longitud);
}


function 
formRegistro(){
?>


<?php
}

// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo.
if (isset($_POST["apellido"])) {


    
# Comprobación Captcha

    # Inclusión del script (Es necesario)
    
include 'PHPCaptcha.lib.php';

    if(
Captcha::verificaCaptcha($_POST['captcha'])) {
        echo 
"Captcha correcto";
    } else {
        echo 
"Captcha incorrecto";
    }

    
# Fin Comprobación Captcha


    
$apellido $_POST["apellido"];
    
$nombre $_POST["nombre"];
    
$email $_POST["email"];
    echo 
"<div style='text-align:center;font-weight:bold;font-size:200%;color:#005784;margin-top:200px;'>";
    echo 
"<span>$apellido </span>";
    echo 
$nombre;
    echo 
"</div>";
    
// Hay campos en blanco
    
if($apellido==NULL|$nombre==NULL|$nacimiento==NULL|$residencia==NULL|$provincia==NULL|$email==NULL|$investiga==NULL) {
        echo 
"<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>Algún campo obligatorio está vacio!</div>";
        
formRegistro();
    }else{
            
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
            
$checkemail mysql_query("SELECT email FROM gerrusarg WHERE email='$email'");
            
$email_exist mysql_num_rows($checkemail);
            if (
$email_exist>0) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La cuenta de correo <span style='color:blue;'>$email</span> ya está en uso.</div>";
                
formRegistro();
        }else{

                  
//agregamos la variable $activate que es un numero aleatorio de
                  //20 digitos crado con la funcion genera_random de mas arriba

                  
$activate genera_random(20);

                  
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 1 que es desactivado

                
$query 'INSERT INTO gerrusarg (apellido, nombre, nacimiento, residencia, provincia, email, web, investiga, argentina, rusia, activate, estado)
                VALUES (\''
.$apellido.'\',\''.$nombre.'\',\''.$nacimiento.'\',\''.$residencia.'\',\''.$provincia.'\',\''.$email.'\',\''.$web.'\',\''.$investiga.'\',\''.$argentina.'\',\''.$rusia.'\',\''.$activate.'\', 1)';
                
mysql_query($query) or die(mysql_error());