
Problema con formulario de contacto
Publicado por Nicolas (1 intervención) el 19/01/2015 20:26:29
Buenas tardes a todos, tengo un problema con un formulario de contacto. Espero me puedan ayudar. Tengo basicos conocimientos de php. Desde ya muchas gracias.
Lo que quiero hacer es saber que estoy haciendo mal. Este es el codigo:
esto apareceria en la pagina de contacto.php
y esto seria send_form_email.php. Funciona pero aunque este todo completado el formulario me tira Error.
Lo que quiero hacer es saber que estoy haciendo mal. Este es el codigo:
esto apareceria en la pagina de contacto.php
1
2
3
4
5
6
7
8
9
<form id="contact-form" name="contactform" method="post" class="clearfix" action="send_form_email.php">
<h3 class="subtitle">ENVIANOS TU CONSULTA</h3>
<input type="text" name="first_name" placeholder="Nombre y apellido*">
<input type="text" name="email" placeholder="E-mail*">
<input type="text" name="telephone" placeholder="Teléfono">
<textarea placeholder="Mensaje" name="message"></textarea>
<input id="boton" type="submit" value="enviar">
</form>
y esto seria send_form_email.php. Funciona pero aunque este todo completado el formulario me tira Error.
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
if(isset($_POST['email'])) {
// Edita las dos líneas siguientes con tu dirección de correo y asunto personalizados
$email_to = "nicolask.godixital@gmail.com";
$email_subject = "Formulario de contacto";
function died($error) {
// si hay algún error, el formulario puede desplegar su mensaje de aviso
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['first_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!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
$first_name = $_POST['first_name']; // requerido
$email_from = $_POST['email']; // requerido
$telephone = $_POST['telephone']; // no requerido
$message = $_POST['message']; // 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_from)) {
$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,$first_name)) {
$error_message .= 'El formato del nombre no es válido<br />';
}
if(strlen($message) < 2) {
$error_message .= 'El formato del texto no es válido.<br />';
}
if(strlen($error_message) > 1) {
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($first_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Teléfono: ".clean_string($telephone)."\n";
$email_message .= "Mensaje: ".clean_string($message)."\n";
//Se crean los encabezados del correo
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Gracias! Nos pondremos en contacto contigo a la brevedad
<?php
}
?>
Valora esta pregunta


0