Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] como lo hago para enviar captcha a otro sitio?

Estas en el tema de como lo hago para enviar captcha a otro sitio? en el foro de PHP en Foros del Web. hola, como veran hice una consulta anteriormente pero no he tenido mayor respuesta, ahora ya resumi mas la pregunta por que ya se en que ...
  #1 (permalink)  
Antiguo 29/01/2013, 08:22
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 7 años, 2 meses
Puntos: 0
como lo hago para enviar captcha a otro sitio?

hola, como veran hice una consulta anteriormente pero no he tenido mayor respuesta, ahora ya resumi mas la pregunta por que ya se en que esta fallando el codigo despues de mucho ensayo y error. Mi codigo es de un formulario de contacto que tiene que enviar los datos a otro sitio, mostrando los datos envados. El formulario tiene por nombre FormularioContacto.php y donde envio EnviarFormulario.php y el problema es con el action que llega y envia los datos sin antes ver si el captcha es correcto o no. Si lo dejo dando vueltas en el mismo sitio muestra si es correcto el captcha o no, el problema es cuando sale, necesito que si es incorrecto o si no se metio nada que se quede en el sitio y si es correcto que envie.
  #2 (permalink)  
Antiguo 29/01/2013, 08:51
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 7 años, 5 meses
Puntos: 36
Respuesta: como lo hago para enviar captcha a otro sitio?

en FormularioContacto.php puedes crear una variable de session

Código PHP:
Ver original
  1. $_SESSION['captcha'] = $captchaGenerado;

y en EnviarFormulario.php

Código PHP:
Ver original
  1. if($_POST['captcha'] == $_SESSION['captcha']){
  2. //captcha correcto
  3.  
  4. }else{
  5. //captcha incorrecto
  6. }

Saludos
  #3 (permalink)  
Antiguo 29/01/2013, 08:57
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: como lo hago para enviar captcha a otro sitio?

Cita:
Iniciado por rottenp4nx Ver Mensaje
en FormularioContacto.php puedes crear una variable de session

Código PHP:
Ver original
  1. $_SESSION['captcha'] = $captchaGenerado;

y en EnviarFormulario.php

Código PHP:
Ver original
  1. if($_POST['captcha'] == $_SESSION['captcha']){
  2. //captcha correcto
  3.  
  4. }else{
  5. //captcha incorrecto
  6. }

Saludos

aqui esta mi codigo de los datos que tengo como obligatorios, el codigo del captcha k utilizo y donde los llamo en el form.. soy nuevo programando y el action me deja pasar como decia sin que me valide el captcha cuando envio a otro sitio. Probare con eso, no se bien donde colocarlo pero probare, Gracias por lo rapido.
Código PHP:
<script language="JavaScript">
function valida_datos() {
        nombre=document.solicitud.nombre.value ;
        if (nombre.length == 0) {
            alert("El Nombre es un dato obligatorio, complete los datos e intente de nuevo") ;
            return false ; }
            
        apellidos=document.solicitud.apellidos.value ;
        if (apellidos.length == 0) {
            alert("Los Apellidos son datos obligatorios, ingrese apellidos o razón social") ;
            return false ; }
            
        direccion=document.solicitud.direccion.value ;
        if (direccion.length == 0) {
            alert("La Dirección es un dato obligatorio, complete los datos e intente de nuevo") ;
            return false ; }
            
        comuna=document.solicitud.comuna.value ;
        if (comuna.length == 0) {
            alert("La Comuna es un dato obligatorio, complete los datos e intente de nuevo") ;
            return false ; }
            
        descripcion=document.solicitud.descripcion.value ;
        if (descripcion.length == 0) {
            alert("El identificación de los documentos solicitados es un dato obligatorio, complete los datos e intente de nuevo") ;
            return false ; }
        
        forma_recepcion=document.solicitud.forma_recepcion.value ;
        if (forma_recepcion== 'Correo Electronico') {
            email=document.solicitud.email.value ;
            if (email.length == 0) {
                alert("Ha elegido forma de envío por correo electronico, debe especificar el correo, complete los datos e intente de nuevo") ;
                return false ; }
                
            }
    }
</script> 

            <p>&nbsp;  </p>
          <!-- InstanceEndEditable --></td>
        </tr>
      </table>
      </br>
      <!-- InstanceBeginEditable name="EditRegion3" -->
      <table width="100%" height="108" border="3" cellpadding="0" cellspacing="0" bordercolor="#EBEBEB" style="border-collapse: collapse">
        <tr>
          <td width="100%" bgcolor="#EBEBEB" style="border-left-color:#EBEBEB; border-left-width: 1; border-right-color: #EBEBEB; border-right-width: 2; border-top-color:#EBEBEB; border-bottom-color:#EBEBEB" height="25"><p style="margin: 2 3"><b> <font face="Verdana" size="2" color="#585858">FORMULARIO DE ACCESO A LA INFORMACI&Oacute;N PUBLICA</font></b></p></td>
        </tr>
        <tr>
          <td width="100%" bgcolor="#FFFFFF" style="border-left:1px solid #FF0000; border-right:1px solid #FF0000; border-bottom-style: none; border-bottom-width: medium; border-top-style:solid; border-top-width:1" height="25">
     
     <!--CODIGO CAPTCHA -->
     <?php
  
  
require_once('recaptchalib.php'); //carpeta donde esta la libreria
  
$privatekey "asdasd";
  
$publickey "asdasdsad";
  
$resp=null;
  
$error_captcha=null;
  
  
//datos de la pagina de registro
 
if ($_POST){
      
$resp recaptcha_check_answer ($privatekey,
                                
$_SERVER["REMOTE_ADDR"],
                                
$_POST["recaptcha_challenge_field"],
                                
$_POST["recaptcha_response_field"]);
  if (
$resp->is_valid) {
    echo 
"Se han Enviado los datos correctamente.";
    
  } else {
    echo 
"Intentelo Nuevamente.";
    
$error_captcha $resp->error;
  }
  }
  
?>
          
          
           <!--fin codigo captcha -->
  
          <form name="solicitud" method="post" action="EnviarFormulario.php" onSubmit="return valida_datos();">
  #4 (permalink)  
Antiguo 29/01/2013, 09:16
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: como lo hago para enviar captcha a otro sitio?

me lanza esto: Notice: Undefined variable: captchaGenerado in D:\wamp\www\Transparencia\FormularioContacto.php on line 218
  #5 (permalink)  
Antiguo 29/01/2013, 13:03
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 7 años, 5 meses
Puntos: 36
Respuesta: como lo hago para enviar captcha a otro sitio?

Es que mi código era para un captcha propio, tu código php lo tienes que poner dentro de

Código PHP:
Ver original
  1. if ($resp->is_valid) {
  2.     echo "Se han Enviado los datos correctamente.";
  3.    
  4.   }
  #6 (permalink)  
Antiguo 31/01/2013, 07:53
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: como lo hago para enviar captcha a otro sitio?

muchas gracias rotten, finalmente me iluminaste ya que si no me enviaba correctamente los datos, lo deje en el mismo sitio y solamente inserte el codigo php del enviarformulario.php despues de la condicion if si $resp era valido. Muchas Gracias (y)

Etiquetas: captcha, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.