el formulario cuenta con 10 archivos:
* (4x) Archivo fuente true type.
* (3x) Archivos GDF.
* captcha.function.php
* captcha.image.php
* contacto.php
Pasaré a explicar solamente contacto.php ya que lo demas son imagenes.
contacto.php
Código PHP:
<?php
include("captcha.function.php");
session_start();
// Cambie esto a su dirección de correo electrónico real:
$myemail = '[U]mi_correo_electronico[/U]@hotmail.com';
// La inicialización de la variable $ error. Al comienzo es 0. Cada campo en este formulario es procesado, y si algo está mal (de entrada vacía, la dirección de correo electrónico incorrecta, el código captcha inválida, etc) $error se incrementa. El Form dejará de procesar si $error es > 0.
$error = 0;
$name_text = 'Su Nombre';
$name = '';
$email_text = 'Su E-mail';
$email = '';
$message_text = 'Su Mensaje';
$message = '';
$captcha_text = 'Por favor, dígame si usted no es un robot de spam';
// Esta pieza de código decide si desea mostrar el formulario o para procesarlo
if (!isset($_POST['action']) || $_POST['action'] != 'submit') {
show_form();
die;
}
// Ok, vamos a procesar el formulario
else {
// Comprobación de nombre
if (empty($_POST['name'])) {
$error .= 1;
$name_text = '<span>Por favor ingrese su nombre</span>';
} else {
$error .= 0;
$name_text = '<font color="#00FF00">Ok</font>';
// Tenga en cuenta que en la "vida real" que tiene que hacer algo como esto con los datos del usuario: mysql_real_escape_string(strip_tags(trim($_POST['name'])));
$name = strip_tags($_POST['name']);
}
// Comprobación del email
if (empty($_POST['email'])) {
$error .= 1;
$email_text = '<span>Por favor introduzca su E-mail</span>';
} elseif (!eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_a-z{|}~]+$', $_POST['email'])) {
$error .= 1;
$email_text = '<span>Por favor introduzca el E-mail correcto</span>';
$email = strip_tags($_POST['email']);
} else {
$error .= 0;
$email_text = '<font color="#00FF00">Ok</font>';
$email = strip_tags($_POST['email']);
}
// Comprobación del mensaje
if (empty($_POST['message'])) {
$error .= 1;
$message_text = '<span>Por favor escriba su mensaje</span>';
} elseif ((strlen($_POST['message']) < 10)) {
$error .= 1;
$message_text = '<span>Please enter no less than 10 symbols</span>';
$message = $_POST['message'];
} else {
$error .= 0;
$message_text = '<font color="#00FF00">Ok</font>';
$message = $_POST['message'];
}
// Ahora vamos a ver El CAPTCHA
if (!captcha_verify_word()) {
$error .= 1;
$captcha_text = '<span>Código de la imagen incorrecta</span>';
} else {
$error .= 0;
}
// Si $error es > 0, vamos a mostrar el formulario de nuevo
if ($error > 0) {
show_form();
die;
} else {
// Si todo está bien, te enviaremos un e-mail
$name = strip_tags(trim($_POST['name']));
$email = strip_tags(trim($_POST['email']));
$message = wordwrap(strip_tags(trim($_POST['message'])), 70);
$email = 'De:'.$name.' <'.$email.'>';
$subject = 'Nuevo mensaje de su sitio web!';
mail($myemail, $subject, $message, $email);
echo "<script>window.location.href='form.exito.php';</script>";
die();
}
}
// Esta función muestra el formulario
function show_form() {
?>
contacto.php
Código PHP:
<html>
<head>
<title>Formulario de contacto</title>
<link href="../CSS/general.css" rel="stylesheet" media="screen" type="text/css"/>
<link href="cascada.css" rel="stylesheet" media="screen" type="text/css"/>
<script src="../links.js" type="text/javascript"></script>
</head>
<body id="body">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><?php include ("../modules/tpl.header.inc");?></td>
</tr>
<tr>
<td colspan="2">
<center><h1>Por favor, no dude en dejar su mensaje:</h1></center>
<table border="1" align="center">
<tr>
<td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="myform">
<input type="hidden" name="action" value="submit">
<div><input name="name" type="text" tabindex="1" value="<?php echo $GLOBALS['name']; ?>"> <?php echo $GLOBALS['name_text']; ?></div>
<div><input name="email" type="text" tabindex="2" value="<?php echo $GLOBALS['email']; ?>"> <?php echo $GLOBALS['email_text']; ?></div>
<div><?php echo $GLOBALS['message_text']; ?><br><center><textarea name="message" cols="45" rows="10" tabindex="3"><?php echo $GLOBALS['message']; ?></textarea></center></div>
<div>
<?php echo $GLOBALS['captcha_text']; ?><br>
<img src="captcha.image.php?nocache=<?php echo md5(time()); ?>" border="0"><br>
<input name="magicword" type="text" tabindex="4">
</div>
<div>
<font size="1" face="arial"><b>Todos los campos son requeridos obligatoriamente.<br>
NOTA: Respete mayusculas y minusculas en la imagen.</b></font>
</div>
<div>
<center>
<button type="submit" tabindex="5">Envíe su mensaje</button>
</center>
</div>
</form>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><br><?php include ("../modules/tpl.footer.inc");?></td>
</tr>
</table>
</body>
</html>
<?php
}
?>