Foros del Web » Programando para Internet » PHP »

Formulario PHP funciona solo a veces

Estas en el tema de Formulario PHP funciona solo a veces en el foro de PHP en Foros del Web. Buenos días, He realizado un formulario en PHP que a veces funciona y a veces no...y la verdad no sé a qué es debido...Si alguien ...
  #1 (permalink)  
Antiguo 04/01/2010, 06:16
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Formulario PHP funciona solo a veces

Buenos días,

He realizado un formulario en PHP que a veces funciona y a veces no...y la verdad no sé a qué es debido...Si alguien puede indicarme alguna solución se lo agradecería.

A continuación adjunto el código que he usado:


<?php
$quantity = $_POST['quantity'];
$materialthickness = $_POST['materialthickness'];
$materialspecification = $_POST['materialspecification'];
$description = $_POST['description'];
$company = $_POST['company'];
$contactname = $_POST['contactname'];
$address = $_POST['address'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$comments = $_POST['comments'];

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

$mensaje = "This message was sent by " . $contactname . ", of the company " . $company . " \r\n";
$mensaje .= "His/her mail is: " . $email . " \r\n";
$mensaje .= "Telephone: " . $telephone . " \r\n";
$mensaje .= "Address: " . $address . " \r\n";
$mensaje .= "Material Thickness: " . $materialthickness . " \r\n";
$mensaje .= "Material Specification: " . $materialspecification . " \r\n";
$mensaje .= "Quantity: " . $quantity . " \r\n";
$mensaje .= "Description: " . $description . " \r\n";
$mensaje .= "Comments: " . $_POST['comments'] . " \r\n";
$mensaje .= "Sent " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Web Message';

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

echo 'Message sent successfully';

?>


Muchas gracias y saludos.
  #2 (permalink)  
Antiguo 04/01/2010, 06:21
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 17 años, 2 meses
Puntos: 14
Respuesta: Formulario PHP funciona solo a veces

Hola cuando dices que a veces te funciona quieres decir que hay correos que envia y iotros que no? SI es asi cuando no les envia te da algun tipo de error? Un Saludo


Se me olvidava el codigo ese lo has cogido de por hay verdad?Tiene bien configurado el srvidor de envio de correos smtp?
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #3 (permalink)  
Antiguo 04/01/2010, 08:00
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Formulario PHP funciona solo a veces

No veo ninguna manipulacion de errores.

trabaja en aquello.
  #4 (permalink)  
Antiguo 04/01/2010, 08:27
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Sí, exacto, a veces me envía el mail y otras veces no. Es un código que está por internet. En otra sección de la web también lo tengo y funciona perfectamente.

Lo del configurar el smtp no sé cómo hacerlo. Estoy comenzando con estos temas...

Muchas gracias!

Disculpa "djsos" se me olvidó poner que no me da ningún tipo de error. La página que sale es con el mensaje que puse de "Enviado Correctamente".

Saludos.

Última edición por GatorV; 04/01/2010 a las 10:52
  #5 (permalink)  
Antiguo 04/01/2010, 08:29
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Formulario PHP funciona solo a veces

eso pasa a veces con phpmailer,

no siempre funciona el envio de emails pero puedes crear un bucle para forzar al envio.

saludos
  #6 (permalink)  
Antiguo 04/01/2010, 08:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Formulario PHP funciona solo a veces

NOTA que no se trata de phpmailer...

se trata de la función mail() que como siempre, devuelve un booleano así que sería muy sencillo controlar (aunque eso no asegura que se haya completado el envío del email, ya que no le compete a PHP)

Código PHP:
if (mail(/* argumentos */)) // ... OK? 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 04/01/2010, 08:53
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Formulario PHP funciona solo a veces

Si es verdad, me falto agregar algo.
phpmailer (lib de PHP para el envio de mails) tambien utiliza mail() que a veces no funciona
correctamente.

me imagino que deberia servir algo así.

Código PHP:
Ver original
  1. $intentos=10;
  2. for($i=0;$intentos>=$i>$i++){
  3. while(!mail(/* argumentos */)){
  4. echo "Intento numero {$i}<br />";
  5. if(mail(/* argumentos */)){break 2;}
  6. }
  7. }
  #8 (permalink)  
Antiguo 07/01/2010, 03:00
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Formulario PHP funciona solo a veces

Buenos días,

Pues he probado de hacerlo con phpmailer e indicar el smtp de Gmail. No me da ningún error al enviar, pone "Mensaje enviado correctamente" pero ocurre lo mismo, que a veces el mail llega y otras no. He pensado si es un tema del sitio donde está hospedado la web, ¿podría ser? Ya no sé qué más hacer la verdad.

Un saludo y gracias por vuestra ayuda.
  #9 (permalink)  
Antiguo 07/01/2010, 06:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Formulario PHP funciona solo a veces

Cita:
Iniciado por insommnia Ver Mensaje
Buenos días,

Pues he probado de hacerlo con phpmailer e indicar el smtp de Gmail. No me da ningún error al enviar, pone "Mensaje enviado correctamente" pero ocurre lo mismo, que a veces el mail llega y otras no. He pensado si es un tema del sitio donde está hospedado la web, ¿podría ser? Ya no sé qué más hacer la verdad.

Un saludo y gracias por vuestra ayuda.
en definitiva, la función mail() así como PHPMailer hacen su trabajo bien... si llegan o no, compete mas al servidor de correo encargado de entregarlo...

vaya, dichos métodos solo se encargan de entregar el mensaje en la oficina de correos, si los carteros andan de vagos y tardan en entregar su correo ya no es problema de PHP ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 07/01/2010, 08:23
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Formulario PHP funciona solo a veces

Ya, pero he probado varios servidores y con todos pasa lo mismo...No creo que todos los carteros sean vaguetes :) y por eso deduzco que sea algo relacionado con el sitio donde se hospeda la web. O si alguien sabe algun servidor que funcione a la perfeccion que me lo indique.

Merci!
  #11 (permalink)  
Antiguo 07/01/2010, 08:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Formulario PHP funciona solo a veces

yo, en lo personal siempre he usado 000webhost y vamos, sirve bien mail() pero mejor utilizo PHPMailer+GMail, en cualquier hosting... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 07/01/2010, 11:44
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: Formulario PHP funciona solo a veces

buenas!!

pues me meto a la conversacion porque me pasa algo similar pero al contrario

tengo montado un servidor local y lo resuelvo con no-ip y funciona perfecto, utilizo phpmailer y envia y llegan todos los correos sin problema
pero al subirlo a 000webhost me marca error y no envia los correos
el phpmailer esta configurado con una cuenta de gmail por lo que se supone que no deveria de tener problemas de envio puesto que es externo, pero no es asi...
supuestamente al no tener nada que ver con el localhost

por lo mismo creo que el problema SI pudiera ser el hosting que esta usando.... aunque se supone que no, de acuerdo con la teoria, en la practica generalmente siempre es diferente.

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #13 (permalink)  
Antiguo 07/01/2010, 11:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Formulario PHP funciona solo a veces

HalconVigia, te recuerdo que decir "me da error" no basta...

si puedes facilitarnos mas detalles, como el mensaje de error completo, así sería mas sencillo ayudarte... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 07/01/2010, 12:02
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: Formulario PHP funciona solo a veces

buenas!!

si, ya se que "me da error" no es suficiente para solucionar, no obstante no considere poner el codigo porque no estaba consultando, simplemente lo puse como una referencia a mi comentario de que SI pudiera sel el hosting el que este dando problemas al compañero.

aun asi, es algo que deseo solucionar pero sera tema aparte, de todas maneras gracias peteketrueke

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #15 (permalink)  
Antiguo 07/01/2010, 14:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Formulario PHP funciona solo a veces

el punto es que no te pedí el código, mas bien lo que hace falta es el mensaje de error que te manda tu script....

si lo colocas, osea, no el código... el mensaje de error que te arroja: es mas fácil decirte, al menos, por donde va el problema y tal ves te demos algún consejo para solventarlo...

si me entendiste, que bien... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 07/01/2010, 16:34
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Respuesta: Formulario PHP funciona solo a veces

respondeme un pregunta.. el mail no se envia o no llega a destino?

porque puede que se envie y no llegue a destino, eso ya es problema de configuracion de tu servidor STMP y tu servidor DNS que no tiene autentificacion SPF.

yo tengo uso phpmailer y no tengo problema.
  #17 (permalink)  
Antiguo 08/01/2010, 16:26
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Formulario PHP funciona solo a veces

El PHPmailer lo envía, no da ningún error, pero a la hora de recibirse el mensaje, a veces se recibe y otras veces no, ya sea con smtp de yahoo, gmail...poniendo el nombre de usuario y contraseña correcto.
  #18 (permalink)  
Antiguo 08/01/2010, 16:35
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Formulario PHP funciona solo a veces

mmm.. disculpen que me meta.

La verdad a mi jamas me fallo el phpMailes o la funcion mail();

No sera que tu servidor es el problema..? Mi auto arranca a veces cuando tiene gasolina, y cuando no tiene, no arranca! Puede estar ahi la clave! Pero solo es una opcion muy valida de, al menos, ser analizada
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

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 12:53.