Foros del Web » Programando para Internet » PHP »

Duda soble funcion Captcha y envio formulario

Estas en el tema de Duda soble funcion Captcha y envio formulario en el foro de PHP en Foros del Web. Hola... Trabajo con Dreamweaver y soy principiente en PHP y debo implantar el Captcha en mi web ya que tengo unos formularios de comentarios que ...
  #1 (permalink)  
Antiguo 06/03/2009, 05:18
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
Hola... Trabajo con Dreamweaver y soy principiente en PHP y debo implantar el Captcha en mi web ya que tengo unos formularios de comentarios que los visitantes de mi web pueden postear, estos comentarios se guardan en una Base de Datos ( MySQL ), los cuales se envian mediante un submit con un <form action="<?php echo $editFormAction; ?>" method="post" name="form1"

Ahora bien, mi pregunta es la siguiente:

En el captcha hay un boton submit y en el formulario, tambin, si doy al submit del captcha , el captcha funciona perfecto, si hay error, me avisa, y si es correcto me envia a la pagina insertada en el "action=".http//www......" ", pero el formulario aunque haya error, me envia igualmente lo que habia introducido en el formulario a la base de datos, aunque haya escritp mal las letras del captcha...

os dejo el codigo:


<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Correo:</td>
<td><input type="text" name="correo" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Nombre_usuario:</td>
<td><input type="text" name="nombre_usuario" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Fecha:</td>
<td><input type="text" name="fecha" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Comentario:</td>
<td><input type="text" name="comentario" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="Insertar registro"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
<p>
<?php

require_once('recaptchalib.php');
$publickey = "........";
$privatekey = ".........";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

# are we submitting the page?
if ($_POST["submit"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);

if ($resp->is_valid) {
echo "Codigo correcto !!!";
# in a real application, you should send an email, create an account, etc
} else {
# set the error code so that we can display it. You could also use
# die ("reCAPTCHA failed"), but using the error message is
# more user friendly
$error = $resp->error;
}
}
echo recaptcha_get_html($publickey, $error);
?>
</p>
<p> <br/>
<input type="submit" name="submit" value="submit" />
</p>
</form>


Imagino que deberia codificar el PHP en que si el codigo no es correcto, no envie el formulario, pero no tengo ni idea de como hacerlo, alguna ayuda de como empezar ??? de como construir, de como enfocar mi duda ???!!!


Gracias

He estado mirando en los foros y scripts online, y he visto que todos ( almenos los que yo he visto ) cuando hacen el formulario con el captcha, se envia mediante email los dattos de contacto ingresados en el <form>, pero si lo que quiero es que la informacion escrita en el formulario por el visitante web enviarlo a mi Base de datos, como se hace ???

Última edición por GatorV; 06/03/2009 a las 09:50
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 21:35.