Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2010, 15:37
Avatar de reborn
reborn
 
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Cómo implmentar reCaptcha en éste caso?

Buenas.
Se sabe q para utilizar recaptcha hay q poner codigos con las llaves publica y privada, un codigo antes del boton "enviar" de algun formulario y otro al principio del proceso de ese formulario.
Ahora bien, como implementarlo si yo tengo el form y el proceso en la misma pagina?, como en este caso de formulario de comentarios:
Código PHP:
<?php

if(isset($_POST['enviar']) && $_POST['enviar'] == 'Comentar'){
    
//campos vacios
    
if(!empty($_POST['debUser']) && $_POST['debEmail'] && $_POST['debCom']){
        
// crea las variables
        
$diadate('d',time() + 14400 );
        
$mesdate('m',time() + 14400 );
        
$aniodate('Y',time() + 14400 );
        
$horadate('H:i:s',time() + 14400 );
        
$debate=addslashes($_GET['debate']);
        
$comdeb=addslashes($_POST['comdeb']);
        
$debUser=strip_tags($_POST['debUser']);
        
$debEmail=addslashes(strip_tags($_POST['debEmail']));
        
$debCom=strip_tags(utf8_encode($_POST['debCom']));
 
        
//INSERT
        
$sqlInsertCom mysql_query("INSERT INTO comdeb (dia, mes, anio, hora, debate, comdeb, debUser, debEmail, debCom) VALUES ('$dia', '$mes','$anio','$hora','$debate','$comdeb', '$debUser', '$debEmail', '$debCom')"$db_link)
        or die(
mysql_error());
        
// si el comentario se agrega
        
header ("Location:visor.php?debate=$debate");
        
    }else{
        
// error de campo vacio
        
echo "Algún campo está vacio";
    }
}
?>
<form name="comart" action="<?php $_SERVER['PHP_SELF']; ?>" method="post" style="width: 672px">
<p>
<input type="hidden" name="debate" value="'$debate'">
<input type="hidden" name="comdeb" value="'$comdeb'"></p>
<p><font color=purple>Nombre:</font><br>
<input type="text" name="debUser" id="debUser" value="" maxlength="10"> <font color=purple>(Máximo 
10 
caracteres)</font></p>

<p><font color=purple>E-mail:</font><br>
<input type="text" name="debEmail" size="45" maxlength="45" class="style18">
<font color=purple>(No será publicado)</font></p>
<p><font color=purple>Escribir opinión:</font><br>
<textarea  id="debCom" name="debCom" style="width: 500px; height: 113px;"></textarea>
</p>
<p>
<input type="submit" name="enviar" value="Comentar">
</p>
</form>
...y ustedes diran: como no separas el form en una pagina y el proceso en otra, pero ahi viene el tema porq como veran en el codigo tengo lo siguiente:

Código PHP:
// si el comentario se agrega
        
header ("Location:visor.php?debate=$debate"); 
y eso hace q si el comentario se agrega correctamente, refresque la pagina y asi lograr el efecto de q el comentario se agregue y se vea al momento de comentar.
Entonces si a ese proceso lo pongo en otra pagina aparte del form, no funciona el header, ya q recoge el id de la noticia.

Entonces, y volviendo al tema de la pregunta principal:
-Si lo hago con el form y el proceso en la misma pagina, el captcha no funciona.
-Si lo hago en paginas separadas, el captcha funciona pero no me redirecciona a la misma noticia.

Q solucion le puedo dar?