Hola, tengo un mini formulario en el home que permite enviar un mensaje pero quiero agregar un captcha y no me valida. El form está aqui:
http://vamonosdevacaciones.com.ve/
Este es el código del form:
Código PHP:
Ver original$code = trim($_POST['code']); if(isset($_POST['save'])) {
if($_SESSION['captcha'] == $code)
{
echo "<span style='color:green'>Es correcto el captcha ingresado</span>";
}
else
{
echo "<span style='color:red'>Es incorrecto el captcha ingresado</span>";
}
}
<form method="post" action="envio.php" id="myform" name="myform" onSubmit="return limpiar()" >
<fieldset id="caja_mensaje">
<legend>Contacto</legend>
<ol>
<li><label>Nombre:</label><input type="text" size="30" name="fname" /></li>
<li
><label
>E
-mail:</label
><input type
="text" size
="30" name
="femail" /></li
> <li><label>Mensaje:</label><textarea name="fcomment" id="fcomment" rows="3" cols="25" onkeyup="limitarCaracter(this.id,80,'charTexto');"></textarea></li>
<li><div style="font-size:10px;" id="charTexto"></div></li><br />
<li><label></label><img src="captcha.php" width="100" height="30" vspace="3"></li><br />
<li><input name="code" type="text"/></li>
<li><input type="submit" name="save" value="Enviar"></li>
</ol>
</fieldset>
</form>
este es el archivo de envio.php:
Código PHP:
Ver original$mensaje="";
$mensaje.="Contacto desde:". "\n\n";
$mensaje.="Nombre: ".$_POST['fname']."\n";
$mensaje.="E-mail: ".$_POST['femail']."\n";
$mensaje.="Mensaje: ".$_POST['fcomment']."\n";
// definimos a quien se lo enviamos
$subject="Mensaje";
// verificamos si se envió
if (mail($email_destiny,$subject,$mensaje,"From: Contact<".$_POST['femail'].">")) { echo '<p align="center" style="color:#263e88; font-family:Arial; font-size:11px;"><b>Gracias por su mensaje</b></p>';
} else {
echo '<p align="center">Error '.$_POST['fname'].'</p>';
}
y este es el codigo captcha.php:
Código PHP:
Ver originalfunction texto($ancho)
{
$cadena = "0123456789abcdefghijkmnñlopqrstwxyz";
for($i = 0; $i<$ancho;$i++)
{
$muestra .= $cadena{rand(0,35)}; }
return $muestra;
}
// Define el ancho del texto usando un parametro (5) para la función creada anteriormente.
$_SESSION['captcha'] = texto(5);
// La imagen gif de fondo.
// La localizacion de la imagen, lo dejamos en 0,0,0
// Unir el texto en la imagen gif creada.
imagestring($captcha,5,16,7,$_SESSION['captcha'],$letras);
// Pone la imagen en cabezera.
header("Content-type: images/gif");
// Muestra la imagen.
No entiendo porque no funciona.
Será que tengo que poner todo el código en envio.php?
y si es así, cómo debo colocarlo???
Gracias