bueno ... pues vamos a darte una mano, acá te presento las dos páginas en cuestión:
formulario.php
************************************************** ******
<?php session_start();//en la primera línea esto
$_SESSION['tmptxt'] = captcha(8);//agarro un captcha para mostrar el el form
$captcha = imagecreatefromgif("fondocaptcha.gif");//este es el fondo del captcha, una imagen que por supuesto debes tener
$colText = imagecolorallocate($captcha, 0, 0, 0);
imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
header("Content-type: image/gif");
imagegif($captcha);
//acá lo que hago es obtener un captcha para ponerlo en el form
?>
<?php
//función que crea el capctha
function captcha($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,50)};
}
return $key;
}
?>
ahora pinto el FORM:
<form name="ejemplo" action="procesa.php">
<p>Nombre: <input type="text" name="Nombre">(obligatorio)</p>
<p>Email: <input type="text" name="email">(obligatorio)</p>
<p><input type="radio" name="karate">Baloncesto <input type="radio" name="karate">Karate <input type="radio" name="karate">Futbol (obligatorio)</p>
<p>Aceptas las condiciones: <input type="checkbox" name="A">Si (obligatorio)</p>
<p>Ciudad: <select name="ciudad" size="1">
<option>Barcelona</option>
<option>Madrid</option>
<option>Sevilla</option>
</select>(obligatorio)</p>
<p>Comentarios: <textarea name="comentarios" rows="2"></textarea>(obligatorio)</p>
<p><img src="captcha.php" width="100" height="30"></p>
<p><input name="tmptxt" type="text">
(obligatorio)</p>
<p><input name="btget" type="submit" value="Verificar Codigo"></p>
<p>
<label>
<input type="submit" name="button" id="button" value="Enviar">
</label>
</p>
</form>
nota que se agregó acá el campo de capctha
ahora viene la página procesa.php
************************************************** ******
<?php session_start();//verifico captcha
if ($_SESSION['tmptxt'] != $_POST['tmptxt']) {
echo "<script>alert(Codigo CAPTCHA INVALIDO)</script>";//mensaje de error correspondiente
echo "<script>location.href=javascript
:history.back ()</script>";//con esto no se pierden los datos del FORM
}
exit;
//**************** COMPRUEBO NOMBRE VACIO **********************
if (!($_POST['nombre'])){
echo "<script>alert(No deje nombre vacio)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}
//**************** COMPRUEBO EMAIL VACIO Y VALIDO **********************
if (!($_POST['email'])){
echo "<script>alert(No deje email vacio)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}elseif(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$_POST['email'])){
echo "<script>alert(El email ingresado es inválido)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;//acá verifico que el email sea VALIDO, que tenga la forma
[email protected]
}
//**************** COMPRUEBO RADIO BOTON MARCADO **********************
if (!($_POST['karate'])){
echo "<script>alert(No deje email vacio)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}
//**************** COMPRUEBO ciudad **********************
if (!($_POST['ciudad'])){
echo "<script>alert(No deje ciudad vacio)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}
//**************** COMPRUEBO comentarios MARCADO **********************
if (!($_POST['comentarios'])){
echo "<script>alert(No deje email vacio)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}
//**************** COMPRUEBO si aceptó las condiciones **********************
if (!($_POST['A'])){
echo "<script>alert(Debe aceptar las condiciones)</script>";
echo "<script>location.href=javascript
:history.back ()</script>";
exit;
}
//una vez que verifique todo, pues envío el email.
//Declaras hacia donde se envía el correo, el Destinatario
$recipiente = "
[email protected]";
//defines el Asunto del correo
$asunto = "Contacto desde la Pagina WEB ";
//defines el cuerpo del mensaje
$message ="nombre: ".$_POST['nombre']."<br>";
$message .="email: ".$_POST['email']."<br>";
$message .="preferencias: ".$_POST['karate']."<br>";
$message .="ciudad: ".$_POST['ciudad']."<br>";
$message .="comentarios: ".$_POST['comentarios']."<br>";
$message = stripslashes($message);
//haces los encabezados
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$headers .= "Repaly-to: $email\r\n";
$headers .= "Cc: ".$_POST['email']."\r\n";//le envías una copia al remitente
//chao email!!
mail($recipiente,$asunto,$message,$headers);
echo "El mensaje se envió correctamente";
?>