Foros del Web » Programando para Internet » PHP »

error en formulario.. porque??

Estas en el tema de error en formulario.. porque?? en el foro de PHP en Foros del Web. tengo un problema en el formulario de contacto de mi web: www.harveys.eu.com Si lo rellenas y envias.. dice que se ha enviado satisfactoriamente pero al ...
  #1 (permalink)  
Antiguo 28/05/2012, 16:32
Avatar de miguelgalannunez  
Fecha de Ingreso: febrero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 0
error en formulario.. porque??

tengo un problema en el formulario de contacto de mi web: www.harveys.eu.com

Si lo rellenas y envias.. dice que se ha enviado satisfactoriamente pero al correo no llega nada..

Adjunto el codigo del formulario y del archivo php..

<form id="contact" action="process.php">
<fieldset>
<label for="name" id="name_label" style="font-size:16px;">Name</label>
<input type="text" name="name" id="name" size="50" value="" class="text-input" />
<label for="email" id="email_label" style="font-size:16px;">E-mail</label>
<input type="text" name="email" id="email" size="50" value="" class="text-input" />
<label for="subject" id="subject_label" style="font-size:16px;">Subject</label>
<input type="text" name="subject" id="subject" value="" class="text-input" />
<label for="msg" id="msg_label" style="font-size:16px;">Message</label>
<textarea cols="60" rows="10" name="msg" id="msg" class="text-input"></textarea>
<input type="submit" name="submit" class="button" id="submit_btn" value="Send Message" style="font-size:12px;"/><br />
<span class="error" id="name_error">Please enter name !</span>
<span class="error" id="email_error">Please enter email address !</span>
<span class="error" id="email_error2">Please enter valid email address !</span>
<span class="error" id="msg_error">Please enter message !</span>
</fieldset>
</form>

Codigo Php:

<?php
$emailTo = '[email protected]';
$subject = $_REQUEST['subject'];
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$msg = $_REQUEST['msg'];

$body = "Name: $name \n\nEmail: $email \n\nMessage: $msg";
$headers = 'From: '.$name.' <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email;

mail($emailTo, $subject, $body, $headers);
?>

Que puede ser?? El servidor??

Muchas gracias
  #2 (permalink)  
Antiguo 28/05/2012, 16:40
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: error en formulario.. porque??

Así a simple vista no sé que puede ser, pero aquí tienes unas comprobaciones que te darán pistas.

1. Prueba en otro servidor si es posible
2. Prueba con otra dirección de correo electrónico
3. Comprueba que las variables $_REQUEST realmente llegan con valores y no vacias.

Y una recomendación, al escribir código aquí cuesta mucho leerlo, por eso hay un boton al escribir mensajes en el foro que pone PHP, dale y escribe el código dentro de las dos etiquetas que te abre [ PHP ] [/ PHP], facilitarás que los demás puedan ayudarte.

Un saludo
  #3 (permalink)  
Antiguo 28/05/2012, 16:41
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 13 años
Puntos: 19
Respuesta: error en formulario.. porque??

Intenta usar $_POST en vez de $_REQUEST a ver como va:

<form id="contact" action="process.php" method="post">
<fieldset>
<label for="name" id="name_label" style="font-size:16px;">Name</label>
<input type="text" name="name" id="name" size="50" value="" class="text-input" />
<label for="email" id="email_label" style="font-size:16px;">E-mail</label>
<input type="text" name="email" id="email" size="50" value="" class="text-input" />
<label for="subject" id="subject_label" style="font-size:16px;">Subject</label>
<input type="text" name="subject" id="subject" value="" class="text-input" />
<label for="msg" id="msg_label" style="font-size:16px;">Message</label>
<textarea cols="60" rows="10" name="msg" id="msg" class="text-input"></textarea>
<input type="submit" name="submit" class="button" id="submit_btn" value="Send Message" style="font-size:12px;"/><br />
<span class="error" id="name_error">Please enter name !</span>
<span class="error" id="email_error">Please enter email address !</span>
<span class="error" id="email_error2">Please enter valid email address !</span>
<span class="error" id="msg_error">Please enter message !</span>
</fieldset>
</form>

Codigo Php:

<?php
$emailTo = '[email protected]';
$subject = $_POST['subject'];
$name = $_POST['name'];
$email = $_POST['email'];
$msg = $_POST['msg'];

$body = "Name: $name \n\nEmail: $email \n\nMessage: $msg";
$headers = 'From: '.$name.' <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email;

mail($emailTo, $subject, $body, $headers);
?>
__________________
www.elias.com.sv
  #4 (permalink)  
Antiguo 28/05/2012, 20:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: error en formulario.. porque??

Te recomiendo uses la libreria PHPMailer. Es facil y segura yo la he usado... Espero te sirva la ayuda!
  #5 (permalink)  
Antiguo 28/05/2012, 20:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: error en formulario.. porque??

El problema no es por usar $_REQUEST o $_POST, sino que los servicios de correo descartan el mensaje, considerándolo spam por falta de encabezados apropiados.

La sugerencia de jmangarret puede solucionarlo, ya que PHPMailer se encarga de generar encabezados y, por lo general, los correos llegan directo a bandeja de entrada, a menos que hagas algo raro y llegarán a correo no deseado.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 29/05/2012, 05:22
Avatar de miguelgalannunez  
Fecha de Ingreso: febrero-2012
Mensajes: 158
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: error en formulario.. porque??

Muchisimas gracias a todos por vuestra ayuda...

Lo del PHPmailer como funciona.. que código tengo que meter y donde??

Muchias gracias de nuevo

Miguel

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:55.