PHP - No me funciona el formulario. Que estoy haciendo mal?

   
Vista:

No me funciona el formulario. Que estoy haciendo mal?

Publicado por Johanna (12 intervenciones) el 10/03/2018 22:09:53
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
<form name="frmContacto" method="post" action="sendbymail.php">
<table width="500px">
<tr>
<td>
<label for="first_name">Nombre: *</label>
</td>
<td>
<input type="text" name="first_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Apellido: *</label>
</td>
<td>
<input type="text" name="last_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td>
<label for="email">Dirección de E-mail: *</label>
</td>
<td>
<input type="text" name="email" maxlength="80" size="35">
</td>
</tr>
<tr>
<td>
<label for="telephone">Número de teléfono:</label>
</td>
<td>
<input type="text" name="telephone" maxlength="25" size="15">
</td>
</tr>
<tr>
<td>
<label for="comments">Comentarios: *</label>
</td>
<td>
<textarea name="comments" maxlength="500" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>







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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
 
<body>
<?php
if(isset($_POST['email'])) {
 
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "jfaur@icloud.com";
$email_subject = "Contacto desde el sitio web";
$email_from = "jfaur@icloud.com";
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
 
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}
 
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['first_name'] . "\n";
$email_message .= "Apellido: " . $_POST['last_name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Teléfono: " . $_POST['telephone'] . "\n";
$email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";
 
 
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
 
echo "¡El formulario se ha enviado con éxito!";
}
?>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

No me funciona el formulario. Que estoy haciendo mal?

Publicado por xve (6416 intervenciones) el 11/03/2018 19:21:33
Hola Johanna, pero exactamente cual es el problema que tienes?

Quita la @ de la instrucción mail, si hay algún error no te lo mostrara!!!
Recuerda que la instrucción mail() no garantiza que lleguen los correos... utiliza un servidor SMTP para el envio... https://www.lawebdelprogramador.com/codigo/PHP/1884-Envio-de-correo-mediante-servidor-SMTP.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de santi

No me funciona el formulario. Que estoy haciendo mal?

Publicado por santi (103 intervenciones) el 11/03/2018 23:51:00
Seguro que no pero en el hipotético caso de que lo estés haciendo desde localhost no vas a recibir correo alguno... Si es el caso, puedes utilizar -> test mail server tool para hacer pruebas ;)

En caso contrario prueba de enviar el correo con SMTP ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar