-
Notifications
You must be signed in to change notification settings - Fork 0
/
form-process.php
101 lines (56 loc) · 2.64 KB
/
form-process.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
if(isset($_POST['email'])) {
// Edita las dos líneas siguientes con tu dirección de correo y asunto personalizados
$email_to = "hello@mail.com";
$email_subject = "Message from web site";
function died($error) {
echo "Lo sentimos, hubo un error en sus datos y el formulario no puede ser enviado en este momento. ";
echo "Detalle de los errores.<br /><br />";
echo $error."<br /><br />";
echo "Porfavor corrija estos errores e inténtelo de nuevo.<br /><br />";
die();
}
// Se valida que los campos del formulairo estén llenos
if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['message'])) {
died('Lo sentimos pero parece haber un problema con los datos enviados.');
}
//En esta parte el valor "name" nos sirve para crear las variables que recolectaran la información de cada campo
$nombre = $_POST['name']; // requerido
//$telefono = $_POST['telefono']; // requerido
$email = $_POST['email']; // requerido
$mensaje = $_POST['message']; // no requerido
$error_message = "Error";
//En esta parte se verifica que la dirección de correo sea válida
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email)) {
$error_message .= 'La dirección de correo proporcionada no es válida.<br />';
}
//En esta parte se validan las cadenas de texto
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$nombre)) {
$error_message .= 'El formato del nombre no es válido<br />';
}
if(strlen($mensaje) < 2) {
$error_message .= 'El formato del texto no es válido.<br />';
}
if(strlen($error_message) < 0) {
died($error_message);
}
//A partir de aqui se contruye el cuerpo del mensaje tal y como llegará al correo
$email_message = "Contenido del Mensaje.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Nombre: ".clean_string($nombre)."\n";
//$email_message .= "Telefono: ".clean_string($telefono)."\n";
$email_message .= "Email: ".clean_string($email)."\n";
$email_message .= "Mensaje: ".clean_string($mensaje)."\n";
//Se crean los encabezados del correo
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>