Hola amigos disculpen si este mensaje esta en el foro equivocado...
Estaba intentando aplicar el captcha para un formulario de contactos de admision con php, la clase captcha me lo baje en
http://www.phpcaptcha.org/download/ y bueno, probe el ejemplo y funcionaba bien, pero el formulario de mi caso es un poquito diferente.
El formulario lo valido y lo envio con ajax, el problema es al validar ya que un a vez que se ha comparado todos los inputs envia el correo y no lee el captcha. Como validaria ese formulario y considerando ese captcha? alguien ha usado esa libreria para que me pueda ayudar? aqui le pongo mi codigo:
Formulario: Código PHP:
<?php
session_start();
?>
<?php
if (empty($_POST)) {
?>
<div id="resultado_envio">
<form name="frmcontacto" id="frmcontacto" onSubmit="enviaContacto(); return false"><table width="385" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right" class="fontForm">Nombre o Nick :</td>
<td align="right"><input name="nombre" type="text" class="textboxForm" id="nombre" onFocus="this.style.background='#FEF3CD';" onBlur="this.style.background='#FFFFFF';" maxlength="100"/></td>
</tr>
<tr>
<td height="10" colspan="2"></td>
</tr>
<tr>
<td align="right" class="fontForm">E-mail :</td>
<td align="right"><input name="email" type="text" class="textboxForm" id="email" maxlength="100" onFocus="this.style.background='#FEF3CD';" onBlur="this.style.background='#FFFFFF';" /></td>
</tr>
<tr>
<td height="10" colspan="2"></td>
</tr>
<tr>
<td align="right" class="fontForm">Edad :</td>
<td align="center"><?php llenarFecha(); ?></td>
</tr>
<tr>
<td height="10" colspan="2"></td>
</tr>
<tr>
<td align="right" class="fontForm">Pais :</td>
<td align="right"><input name="pais" type="text" class="textboxForm" id="pais" maxlength="100" onFocus="this.style.background='#FEF3CD';" onBlur="this.style.background='#FFFFFF';" /></td>
</tr>
<tr>
<td height="10" colspan="2"></td>
</tr>
<tr>
<td align="right" class="fontForm">Mensaje :</td>
<td align="right"><textarea name="mensaje" rows="5" class="textboxArea" id="mensaje" onFocus="this.style.background='#FEF3CD';" onBlur="this.style.background='#FFFFFF';"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td align="right" class="fontForm">Ingrese el codigo : </td>
<td align="center"><img src="includes/securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>"><br /><br /><input type="text" name="code" id="code" style="height:18px; width:170px; font-family:Tahoma; font-size:12px; border:#FE9900 solid 1px; padding-left:2px;" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="center"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="reset" name="borra" value="BORRAR" class="btnForm" /></td>
<td width="20"> </td>
<td><input type="submit" name="envia" id="envia" value="ENVIAR" class="btnForm" /></td>
</tr>
</table></td>
</tr>
</table>
</form>
</div>
<?php
} else { //form is posted
include("includes/securimage.php");
$img = new Securimage();
$valid = $img->check($_POST['code']);
if($valid == true) {
echo "<center>Thanks, you entered the correct code.</center>";
} else {
echo "<center>Sorry, the code you entered was invalid. <a href=\"javascript:history.go(-1)\">Go back</a> to try again.</center>";
}
}
?>
ajax:
Código:
function enviaContacto(){
var c = document.getElementById('resultado_envio');
var nombre = document.frmcontacto.nombre.value;
if(nombre.length == 0){
alert('El campo Nombre es necesario para este proceso.');
document.frmcontacto.nombre.focus();
return false;
}
ajax=nuevoAjax();
c.innerHTML = '<p style="text-align:center;color:#FFFFFF; font-size:10px">Enviando...<br><img src="images/sending.gif" width="43" height="11" align="absmiddle"></p>';
ajax.open("POST", "envia_mail.php",true);
ajax.onreadystatechange=function(){
if (ajax.readyState==4) {
c.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("nombre="+nombre+"&email="+email+"&dia="+dia+"&mes="+mes+"&ano="+ano+"&pais="+pais+"&mensaje="+mensaje+"&control=enviado");
}