Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2010, 18:07
Avatar de humanista
humanista
 
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
captcha no funciona en el servidor

Hola, tengo montado un foro con un captcha para validar q un robot no mete spam en mi foro.

En local funciona muy bien, pero no en el servidor.

Para lanzarlo algo esto:

foro.php

Código PHP:
Ver original
  1. <form name="formulario" action="" onsubmit="insertcomment()"> // este llama por AJAX al php que valida el captcha
  2. <img src="captcha.php" id="captcha" />                                                                 
  3. <a href="javascript:void(0)" onclick="document.getElementById('captcha').src='captcha.php?'+Math.random(); document.getElementById('captcha-form').focus();" id="change-image">
  4.  
  5. <img src="refresh.jpg" border="0">
  6.  
  7. </a>
  8.  
  9. <input type="text" name="captcha" id="captcha-form"  />

el captcha.php os lo puedo pegar pero es muy largo. si alguien sabe cuál puede ser el error pq le pasó a él q me diga, sino, os pego todo el código.

el error que me da es simplemente q cuando meto caracteres erróneos, me inserta el comentario en el foro, es decir, no valida bien el captcha.

tanto en el archivo foro.php como en el captcha.php tienen la instrucción session_start();, no se si tendrá q ver o es cuestión de la configuración del servidor, o q...

os pego parte del código del fichero q validad el captcha e inserta el comentario en el foro, donde podría estar el error:

Código PHP:
Ver original
  1. /** Validate captcha */
  2. if (!empty($_REQUEST['captcha']))
  3. {
  4.     if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) != $_SESSION['captcha'])
  5.     {
  6.         $captcha_message = "Error in the control words. Repeat the process";
  7.         echo "0";      
  8.     }
  9.     else
  10.     {


para mí q es algo de sesiones...

Última edición por humanista; 26/09/2010 a las 18:28