<?php
$para = "tu@servidor.com"; /*Persona que recibira el mensaje*/
$minmensaje=40; /*Numero minimo de caracteres para el mensaje*/
if (!isset($_POST['enviar'])) { /*Si no se ha pulsado el boton enviar, muestra el formulario*/
mostrarFormulario();
} else { /*Se comprueba que no hay errores y si es asi, se envia*/
/******************************************
* COMPROBAR QUE NO HAY ERRORES
*
*******************************************/
$errores = 0; /*Numero de errores*/
if(empty($_POST['nombre'])) {
$errores = $errores+1;
$errstr[] = "Por favor, introduzca su nombre."; /*$errstr: Array que incluye todos los mensajes de error*/
}
if(empty($_POST['email'])){
$errores = $errores+1;
$errstr[] = "Por favor, introduzca una dirección de email.";
}else{
require ("verifyemail.php");
if(!Validate_Email_Address_Format($_POST['email'])) {
$errores = $errores+1;
$errstr[] = "Por favor, introduzca una dirección de email válida.";
}
}
if (empty($_POST['asunto'])) {
$errores = $errores+1;
$errstr[] = "Por favor, introduzca el asunto.";
}
if(empty($_POST['mensaje'])) {
$errores = $errores+1;
$errstr[] = "Por favor, introduzca el mensaje.";
}else{
$longitudmensaje=strlen($_POST['mensaje']);
if ($longitudmensaje < $minmensaje) {
$errores = $errores+1;
$errstr[] = "El mínimo de caracteres para el mensaje son " . $minmensaje . ".";
}
}
if(empty($_POST['code'])) {
$errores = $errores+1;
$errstr[] = "Por favor, escriba los caracteres de la imágen.";
} else {
include("securimage/securimage.php");
$img = new Securimage();
$valid = $img->check($_POST['code']);
if(!$valid) {
$errores = $errores+1;
$errstr[] = "El código introducido es incorrecto.";
}
}
/******************************************
* MOSTRAR ERRORES
* Si hay errores, se muestran de uno en uno
********************************************/
if ($errores == 1) { /*Si solo hay un error, muestra el mensaje de error y el formulario de nuevo*/
echo "\n<h3>Ha ocurrido un error:</h3>\n";
foreach($errstr as $err) {
echo "<li> " . $err . "</li>\n";
}
echo "\n\n<br />\n\n";
mostrarFormulario();
}else if($errores > 1){ /*Si hay mas de un error enumera los mensajes de error y muestra el formulario de nuevo*/
echo "\n<br /><h3>Han ocurrido " . $errores . " errores:</h3>\n";
foreach($errstr as $err) {
echo "<li> " . $err . "</li>\n";
}
echo "\n\n<br />\n\n";
mostrarFormulario();
} else { /*Si no hay errores, se envia el email*/
@mail($para, "Mensaje enviado de la web - " . $_POST['asunto'],
"Enviado el " . date("r") . ". " . $_POST['nombre'] . " (" . $_POST['email'] . ") envio el siguiente mensaje:\n" . "\n\n" . stripslashes($_POST['mensaje']), "From: {$_POST['nombre']} <{$_POST['email']}>");
echo <<<EOD
<center>Mensaje enviado correctamente.</center><br />
EOD;
}
}
function mostrarFormulario() /*Función que simplemente muestra el formulario de contacto*/
{
$_POST['mensaje'] = @htmlspecialchars(@$_POST['mensaje']);
echo <<<EOD
<br />
<form method="POST">
<table class="dl" cellpadding="5" cellspacing="1" width="100%" align="center">
<tr align="left" valign="top">
<td width="55" class="body">Nombre:</td>
<td class="body"><input type="text" name="nombre" value="{$_POST['nombre']}" /></td>
</tr>
<tr align="left" valign="top">
<td class="body">Tu email:</td>
<td class="body"><input type="text" name="email" value="{$_POST['email']}" /></td>
</tr>
<tr align="left" valign="top">
<td class="body">Asunto:</td>
<td class="body"><input type="text" name="asunto" value="{$_POST['asunto']}" /></td>
</tr>
<tr align="left" valign="top">
<td class="body">Mensaje:</td>
<td class="body"><textarea name="mensaje" rows="8" cols="36">{$_POST['mensaje']}</textarea></td>
</tr>
</table>
<table class="dl" cellpadding="5" cellspacing="1" width="100%" align="center">
<tr align="left" valign="bottom">
<td width="55" class="body"></td>
<td class="body"><br /><img src="/securimage/securimage_show.php?sid=
EOD;
echo md5(uniqid(time()));
echo <<<EOD
"></td>
</tr>
</table>
<table class="dl" cellpadding="5" cellspacing="1" width="100%" align="center">
<tr align="left" valign="top">
<td width="227" class="body"><br />Introduce los caracteres de la imágen:</td>
<td class="body"><br /><input type="text" name="code" /><p><br /></p></td>
</tr>
<tr align="left" valign="bottom">
<td width="227" class="body"></td>
<td class="body"><input type="submit" name="enviar" value="Enviar" /></td>
<tr>
</table>
</form>
EOD;
}
?>