Foros del Web » Programando para Internet » PHP »

codigo para enviar formulario

Estas en el tema de codigo para enviar formulario en el foro de PHP en Foros del Web. Hola, he estado leyendo posts sobre el tema y he escrito el codigo para el formulario de contacto de mi pagina, y ahora que la ...
  #1 (permalink)  
Antiguo 14/01/2011, 13:14
 
Fecha de Ingreso: enero-2011
Ubicación: donde me lleva el viento...
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
codigo para enviar formulario

Hola, he estado leyendo posts sobre el tema y he escrito el codigo para el formulario de contacto de mi pagina, y ahora que la estoy probando me sale una pagina que pone "500 Internal server error", y bueno supongo que el problema sera del servidor por lo que pone en el mensaje, pero es que hace 5 minutos lo estaba probando y funcionaba bien, lo que pasa es que he cambiado un par de cosas porque no me gustaba el formato en que llegaba la consulta del formulario a mi mail, y ahora al haberlo cambiado pues no funciona. A mi me parece que todo el codigo esta bien pero no se, vosotros sois los expertos

Ahí va el codigo:

<?
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $nombre . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por: " . $nombre . " \r\n";
$mensaje = "De la empresa: " . $empresa . "\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . " \r\n";
$mensaje .= . $_POST['mensaje'] . " \r\n";
$mensaje = "-------------------------------" . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Consulta desde Gravitop.com';

mail($para, $asunto, utf8_decode($mensaje), $header);

header ("Location: mensajeok.html");;

?>

en algunos $mensaje hay un punto antes del simbolo = ¿tiene eso importancia? o lo puedo poner de las dos maneras?

muchisimas gracias de antemano y un saludo
  #2 (permalink)  
Antiguo 14/01/2011, 13:18
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: codigo para enviar formulario

Fijate que todas las variables $mensaje tengan el operador .= excepto en la primera declaracion, osea en $mensaje = "Este mensaje fue......." esa esta bien, las demas deben tener el punto, y en $mensaje .= . $_POST['mensaje'] . " \r\n"; sobra el ultimo punto.

Si sigue fallando, seguramente tengas un archivo error_log en tu servidor, bajalo y abrelo y veras bien el error que te da PHP.

Un saludo
  #3 (permalink)  
Antiguo 14/01/2011, 13:28
 
Fecha de Ingreso: enero-2011
Ubicación: donde me lleva el viento...
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: codigo para enviar formulario

gracias por tu respuesta tan rápida

he arreglado lo que me has dicho pero mi sigue saliendo la pagina de error, he buscado tambien el archivo del log y no hay ninguno...

lo que me pone la pagina que me sale es esto:

500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

puede ser que el problema sea de mi hosting y por eso no funcione?
  #4 (permalink)  
Antiguo 15/01/2011, 10:38
 
Fecha de Ingreso: enero-2011
Ubicación: donde me lleva el viento...
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: codigo para enviar formulario

Hola de nuevo

me he puesto en contacto con mi hosting, y me han habilitado los errores php para que no me salga la pantalla de error 500....

tambien cambie un poco el codigo, haciendolo de nuevo, es el siguiente:

<?
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $nombre . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Consulta desde Gravitop.com';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo "<script languaje=javascript> alert('Su consulta ha sido enviada correctamente') </script>";
echo "<script languaje=javascript> document.location='index.html' </script>";

?>


y el error que me pone es este:
PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: SMTP server response: 501 5.5.4 Invalid Address in D:\XVRT\gravitop.com\Html\enviar.php on line 19

lo extraño es que ellos lo han probado y me han llegado correctamente las consultas del formulario al mail, pero cuando lo pruebo yo me sale el error en la linea 19

la linea en cuestio es esta:
mail($para, $asunto, utf8_decode($mensaje), $header);

estoy mirando mas posts y no encuentro que es lo que hago mal, he vaciado la cache del navegador aunque no se si tendra algo que ver...

pero bueno que lo más extraño es que ellos cuando lo prueban si que funciona...

no se, estoy hecho un lio y no encuentro mi fallo...
la pagina donde esta el formulario se llama contacto.php aunque no tiene nada de php, la renombro a html? el formulario tiene como action="enviar.php"
tengo que poner la pagina donde esta el formulario tambien con la extension php o eso es una tonteria por mi parte

es mi primer contacto con el diseño web y con el php y estoy bastante perdido, pero aun asi me extraña que a mi no me funcione y cuando lo prueban los de mi hosting si...

gracias por vuestra ayuda y un saludo
  #5 (permalink)  
Antiguo 16/01/2011, 09:45
 
Fecha de Ingreso: enero-2011
Ubicación: donde me lleva el viento...
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: codigo para enviar formulario

solucionado!

el código está bien, el problema era del hosting, me puse en contacto con ellos y me lo solucionaron

gracias y un saludo
  #6 (permalink)  
Antiguo 16/01/2011, 12:29
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: codigo para enviar formulario

hola a todos, soy un novato con una pequeña idea entre manos para un negocio. Después de mucho google y mucho pelear, he intentado por todos los medios crear un formulario sencillito donde se registre en un .txt el nombre y los comentarios y sugerencias que puedan ir dejando los clientes.

La cuestión es que el tema del php y su programación para escribir en dicho .txt he llegado a entenderlo, así como la realización del formulario mediante el dreamweaver, pero me sigue fallando a la hora de ejecutar, no doy con la tecla para hacerlo funcionar.

Es sencillo, lo sé, pero hay tanta informacion en la red que no se sabe por donde tirar.

¿Podriaís por favor, aconsejarme acerca de los pasos a dar? Yo creo mi página web, hago el archivo php, subo al hosting y a partir de aquí ya me pierdo, porque nunca me funciona bien.

Perdonarme por mi ignorancia, espero que podáis ayudarme
  #7 (permalink)  
Antiguo 17/01/2011, 19:45
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: codigo para enviar formulario

Lo mejor es que crees un hilo aparte, porque este tema era para otro asunto, expongas tu problema en el nuevo hilo, y que añadas el código que tienes para que podamos revisarlo.

Un saludo
  #8 (permalink)  
Antiguo 10/02/2011, 08:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: codigo para enviar formulario

Cita:
Iniciado por flasdetul Ver Mensaje
solucionado!

el código está bien, el problema era del hosting, me puse en contacto con ellos y me lo solucionaron

gracias y un saludo


Brother me pasa el mismo error sera q me puedes dar una mano q fallaba en el servidor????

Que les dijiste y q respuesta te dieron porfa ayudame es super urgente...
de antemano mil gracias...
  #9 (permalink)  
Antiguo 13/02/2011, 06:57
 
Fecha de Ingreso: enero-2011
Ubicación: donde me lleva el viento...
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: codigo para enviar formulario

Simplemente les mandé un mail diciendo que me pasaba, primero me activaron los errores php y vi que el error era en la linea "mail" entonces copie el error en otro mail y se lo envie

no se lo que hicieron pero me lo arreglaron en un momento, puede que no tuvieran activado el smtp para mi host o algo asi

siento no poder ser de mas ayuda..

Etiquetas: enviar, 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 22:31.