PHP - Erro en formulario HTML y PHP

   
Vista:
Imágen de perfil de jeinner

Erro en formulario HTML y PHP

Publicado por jeinner (18 intervenciones) el 31/08/2015 01:28:30
Buen dia, Sres LWP

Estoy tratanto de direccionar un formulario de un sitio web a un correo y que cuando este lo envie me lleve nuevamente a la pagina principal. El error es que cuando le doy enviar al formulario no me genera ningun error, per tampoco llega al correo. Agradezco sus buenas intenciones y su colaboracion en lo que mu puedan ayudar. Aqui les de jo mi codigo:
este es el formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="contacto.php" id="comment_form" class="comment_form" method="post">
	<div class="row-fluid">
		<div class="span6">
			<input type="text" id="email" email="email" placeholder="Email*">
		</div>
		<div class="span6">
			<input type="text" id="name" name="name" placeholder="Nombre*">
		</div>
	</div>
	<div class="row-fluid">
		<div class="span8">
			<textarea name="message" id="message" placeholder="Mensaje" cols="30" rows="10"></textarea>
		</div>
		<div class="span4">
			<button class="submit" type="submit"><i class="li_paperplane"></i>Enviar Mensaje</button>
		</div>
	</div>
</form>
y este el archivo PHP que procesa los datos:
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
<?php
if (isset($_POST["submit"])) {
	$email = $_POST['email'];
	$name = $_POST['name'];
	$message = $_POST['message'];
	$from = 'www.cafetourscolombia.co';
	$to = 'eje.cafetours@gmail.com';
	$subject = 'Mensaje de pagina web';
 
	$body = "From: $email\n $name\n Message:\n $message";
 
		// Check if email has been entered and is valid
	if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
		$errEmail = 'Please enter a valid email address';
	}
	// Check if name has been entered
	if (!$_POST['name']) {
		$errName = 'Please enter your name';
	}
	//Check if message has been entered
	if (!$_POST['message']) {
		$errMessage = 'Please enter your message';
	}
 
	// If there are no errors, send the email
	if (!$errEmail && !$errName && !$errMessage) {
		if (mail ($to, $subject, $body, $from)) {
			$result='<div class="alert alert-success">Thank You! I will be in touch</div>';
		} else {
			$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>';
		}
	}
}
?>

Nuevamente muchas gracias y feliz dia.
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

Erro en formulario HTML y PHP

Publicado por xve (5520 intervenciones) el 31/08/2015 08:05:00
Hola Jeinner, no pones la cabecera del correo ($header) y en el from pones una URL en vez de una dirección de correo...

Compáralo con este simple ejemplo de la pagina de PHP
http://php.net/manual/en/function.mail.php

1
2
3
4
5
6
7
8
9
10
<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
mail($to, $subject, $message, $headers);
?>

De todas maneras, los mensajes enviados con mail() no siempre llegan... mira este ejemplo utilizando un servidor SMTP:
http://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