Foros del Web » Programando para Internet » PHP »

Captcha

Estas en el tema de Captcha en el foro de PHP en Foros del Web. Buenas.. Tengo un formulario (por un lado) y un captcha creado en php (por otro lado), quiero unir los dos y tener solo UN formulario ...
  #1 (permalink)  
Antiguo 01/06/2011, 17:45
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Captcha

Buenas..
Tengo un formulario (por un lado) y un captcha creado en php (por otro lado), quiero unir los dos y tener solo UN formulario que tenga captcha incluido.

Mas detallado, tengo un formulario.php que valida los campos con Jquery, y tengo otro captcha.php que valida solo el captcha, ahora quiero unir o meter el captcha en mi formulario.php para que al darle al boton "enviar" valide los campos y TAMBIEN el captcha, y si esta todo bien, envie el correo o haga la accion (action="enciocorreo.php")

Gracias..
  #2 (permalink)  
Antiguo 01/06/2011, 17:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

Cuando crees el captcha, crea una sesión con la información y luego comparas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 01/06/2011, 18:12
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Captcha

Si ya tengo creado el captcha, y tengo el formulario tambien, solo quiero que al darle a "enviar" en el formulario tambien revise el captcha. Es decir, tengo un captcha.php que tiene su boton "enviar o validar", y tengo un formulario.php que aparte tiene su boton "enviar", quiero hacer solo UN formulario y que al darle al boton enviar haga las dos acciones, que me valide el formulario y revise el captcha si esta bien, y despues haga la accion (action)..
gracias....
  #4 (permalink)  
Antiguo 01/06/2011, 18:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

No me entendiste. Si creas el captcha, es decir usando la librería GD, solo tienes que almacenar el valor que indicaste al captcha en una variable de sesión y luego validas esa sesión cuando envies el formulario con el valor que te indicó.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 01/06/2011, 18:25
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Captcha

Gracias por ayudarme,, pero sinceramente soy muy nuevo en esto, nose si me podrias explicar mas "detallado" eso de las sesiones. Tengo que introducir alguna variable o "script" a mi formulario?, esque la verdad estoy un poco perdido, tengo los dos que quiero, tanto el formulario como el captcha, funcionan a la perfeccion, solo que quiero unir los dos y hacer solo uno,, pero que valide todo..
Sorry,, y gracias
  #6 (permalink)  
Antiguo 01/06/2011, 18:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

Bueno sin ver lo que haz hecho, no es posible que te podamos ayudar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 01/06/2011, 18:39
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Captcha

sip,, sorry:



este es mi codigo del formulario principal

<form id="form1" name="form1" method="get" action="enviacorreo.php">
<p>
Nombre<br />
<input name="nombre" type="text" id="nombre" size="36" class=":min_length;3 :required"/>
</p>

<p>
Email:<br />
<input name="email" type="text" id="email" size="36" class=":email :required" />
</p>

<p>
Comentarios;<br />
<textarea name="comentarios" rows="8" cols="61" wrap="soft" class=":min_length;10 :required"></TEXTAREA>
</p>


<p>
<input type="submit" name="btsend" id="btsend" value="Registro" />
</p>
</form>


Y este es del captcha:
<?php
session_start();

if ($_POST['action'] == "checkdata") {
echo $_SESSION['tmptxt'] . "<br>";
echo $_POST['tmptxt'] . "<br>";

if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
$status = 1;
} else {
$errorCaptcha = "error";
}
}
?>
<html>
<head>
<link href="css/main.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="wrapper">
<div class="section">
<div id="login">
<h1>Captcha con PHP</h1>
<?php if($status != 1){ ?>
<form id="form1" action="captchademo.php" method="post">
<label for="username">Ingresa el texto mostrado en la imagen</label>
<input tabindex="1" name="tmptxt" id="username" type="text" class="text <?php if ($errorCaptcha == "error"){ echo "error";} ?>" ><br>
<img src="captcha.php" width="100" height="40">
<input name="action" type="hidden" value="checkdata"><br>
<input type="submit" class="boton" value="Validar texto" style="cursor:hand">

</form>
</div>
<?php }else
echo "Texto introducido correctamente";
?>
</div>
</div>




Quiero hacer solo uno y que al darle "enviar" valide cada campo y tambien el captcha si esta bien ..
Gracias..
  #8 (permalink)  
Antiguo 01/06/2011, 18:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

Si te fijas ya estás usando sesiones, $_SESSION. ¿Entiendes el código que indicaste o es que alguien te lo hizo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 01/06/2011, 19:27
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Captcha

La verdad que me pasaron estos codigos, y algo entiendo, pero como te dije al principio,, stoy perdido y de sesiones la verdad que no sé. Lo siento, pensé que solo era introduciendo el código del captcha en el del formulario, y al darle en "action" enviar, se ejecute y valide todo.. :(
Toy un poco verde en esto,,
Gracias,,,
  #10 (permalink)  
Antiguo 01/06/2011, 19:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

Pues mira, pasa por el wiki de este foro, hay un buen manual que te puede ayudar a desenvolverte.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 01/06/2011, 19:49
Avatar de Webs_DS  
Fecha de Ingreso: diciembre-2010
Ubicación: España
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Captcha

ok, me pasare. Pero asi por encima es muy complicado lo que quiero?, no es solo de meter en un solo codigo los dos php? o puedo decirle que verifique los campos y si esta bien luego verifique el captcha?,, La verdad que no me gustaría meterme muuucho al php y sesiones etc.. Porque si es mu dificil cambiar a lo q quiero,, pues el formulario q tengo se queda sin captcha,, jjjj
Gracias!!
  #12 (permalink)  
Antiguo 01/06/2011, 19:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Captcha

No es complicado, solo debes entender lo que hace el código para que veas enseguida lo que hay que hacer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: captcha
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 08:59.