Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2009, 05:18
jonysi_d
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
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