Foros del Web » Programando para Internet » PHP »

Sobre un script para procesar un form, lo explico en el post

Estas en el tema de Sobre un script para procesar un form, lo explico en el post en el foro de PHP en Foros del Web. Hola [email protected]!! Tego un problema con un script que he creado para procesar un form, el funcionamiento es el siguiente: 1.- El usuario rellena los ...
  #1 (permalink)  
Antiguo 21/04/2005, 07:37
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.208
Antigüedad: 14 años
Puntos: 147
Sobre un script para procesar un form, lo explico en el post

Hola [email protected]!!

Tego un problema con un script que he creado para procesar un form, el funcionamiento es el siguiente:

1.- El usuario rellena los campos del form. (lógico ¿no? )

2.- El script convierte las variables POST en locales de esta forma

Código PHP:
$variable1 $_POST["variable1"];
$variable2 $_POST["variable2"];
$variable3 $_POST["variable3"];
         ...... 
3.- Después creo una serie de variables con los contenidos que se usarán en las autorrespuestas, de esta forma:

Código PHP:
$variable4 "Código HTML, CSS, etc";
$variable5 " Más código HTML, CSS, etc"
4.- Y ahora es cuando llega la parte "interesante" , Por una parte es algo así:

Código PHP:
if ($formulario == "Afiliacion") {

$msg "Datos recogidos en el form con formato HTML";

$to "Nombre <[email protected]>";
$subject "Formulario";

/////////////////////////////////////////////////
//para el envío en formato HTML 
/////////////////////////////////////////////////

$mailheaders "MIME-Version: 1.0\r\n"
$mailheaders .= "Content-type: text/html; charset=iso-8859-1\r\n"
$mailheaders .= "From: $nombre $apellidos <$email>\r\n";
$mailheaders .= "Reply-To: $nombre $apellidos <$email>\r\n";

mail($to$subject$msg$mailheaders); 
Hasta aquí no hay problema, envía bien el form a mi e-mail, ahora es cuando viene el problema...


5.- Se supone que debería enviar una autorrespuesta condicionada por lo elegido en el select del form, de esta forma:

Código PHP:
//////////////////////////////////////////////////////////////////
//Datos para la respuesta automática si selección 1
//////////////////////////////////////////////////////////////////


if ($select == "seleccion1") {

$respuesta "Mensaje de la auto respuesta en HTML 
con variables concatenadas con /* "
.$variable_x." */";

//aquí he usado las dos formas, por si era problema de esto, pero no

$para $_POST["Nombre"] ." "$_POST["Apellidos"]. "<" .$_POST["Email"] .">\r\n";
//*$para = "$nombre $apellidos <$email>\r\n";
$asunto "Instrucciones seleccion1\r\n";
$mailheaders2 "MIME-Version: 1.0\r\n"
$mailheaders2 .= "Content-type: text/html; charset=iso-8859-1\r\n"
$mailheaders2 .= "From: Nombre <[email protected]>\r\n";
$mailheaders2 .= "Reply-To:  Nombre <[email protected]>\r\n";

mail($para$asunto$respuesta$mailheaders2);} 
Y aquí es donde está el siguiente problema: Si el e-mail rellenado en el form es del mismo dominio donde trabaja el script, perfecto, envía la autorrespuesta sin problemas, pero si es un e-mail de otro dominio no envia nada de nada...

El caso es que llevo varios días con esto y no le encuentro el fallo ¿Algún alma caritativa me puede echar un cable?

Muchas gracias por anticipado
  #2 (permalink)  
Antiguo 21/04/2005, 15:31
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.208
Antigüedad: 14 años
Puntos: 147
¿No hay nadie que me pueda ayudar?
  #3 (permalink)  
Antiguo 21/04/2005, 16:46
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Ok.

Lo que pasa es que la funcion mail se apoya en php.ini donde tu dices el servidor de e-mail, etc, entonces en el php.ini debes decir que servidor de SMTP debe usar.
  #4 (permalink)  
Antiguo 21/04/2005, 17:41
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.208
Antigüedad: 14 años
Puntos: 147
Hola Neuron_376!!

Muchas gracias por tu respuesta, pero yo no estoy usando SMTP sino sendmail (creo), o sea, se supone que para enviar con mail () no es necesario el SMTP ¿no? , además lo estoy usando en un servidor que no administro yo y es compartido, por lo que no creo que se pueda cambiar el php.ini ¿sabes alguna otra opción?

Y de nuevo muchas gracias
  #5 (permalink)  
Antiguo 21/04/2005, 17:51
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Yo vi esto

mail($to, $subject, $msg, $mailheaders);

Entonces eso me dice que usas la funcion mail, y si necesitas poder poner en el php.ini el SMTP, porque si no no podras enviar correos, el SMTP, es como el cartero, es quien toma tu carta y la lleva hasta donde la quieres mandar, sin el cartero, las cartas no salen.

Si tienes un hosting rentado, ellos ya deben de tener el SMTP configurado, o tal vez tu cuenta no permite salida de e-mials. Preguntale a ellos que para con la funcion mail.

Suerte!!
  #6 (permalink)  
Antiguo 21/04/2005, 18:21
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Código PHP:
/* recipientes */
$para  $correo;
/* asunto */
$asunto "Ud. se ha suscripto a ".$suscripcion_a;
/* mensaje */
$mensaje '<html><head><title>Envío desde tu sitio</title></head><body>enviado</body></html>';
/* Para enviar correo HTML, definir la cabecera Content-type. */
$cabeceras "Date: ".date("l j F Y, G:i")."\r\n"
$cabeceras .= "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
/* cabeceras adicionales */
$cabeceras .= "From: tuname <[email protected]>\r\n";
$cabeceras .= "Reply-To: [email][email protected][/email]\r\n"//si quieres una copia
$cabeceras .= "To: ".$nombre." ".$apellido." <".$correo.">\r\n"//ponle el "To: q te falta
$cabeceras .= "Cc: [email][email protected][/email]\r\n";
$cabeceras .= "Bcc: [email][email protected][/email]\r\n";
$cabeceras .= "Return-path: [email][email protected][/email]\r\n";
/* y ahora, enviarlo */
mail($para$asunto$mensaje$cabeceras) or die(__LINE__); 
Como q mas o menos así debería funcionar, lo siento pero me duele la cabeza, estoy chau
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #7 (permalink)  
Antiguo 21/04/2005, 18:49
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.208
Antigüedad: 14 años
Puntos: 147
Hola Neuron_376 y sebtev!!

Muchas gracias por vuestras aportaciones pero sigue sin funcionar

Tendré que ver lo que me dicen en el hosting sobre la configuración del php.ini porque lo he puesto tal y como me dices, sebtev, pero no me envía la autorrespuesta, es decir, el form sí que lo recibo bien, pero la respuesta que debería enviar el script no llega si es una dirección de otro dominio y sí llega si es del mismo. Estoy desesperado, debería funcionar, en otros sitios que lo tengo igual, funciona pero en este no... ¿qué puede pasar?

En fin, mañana hablo con los del host y les pregunto lo que me dices Neuron_376

Muchas gracias amigos, si se os ocurre otra cosa... Acepto todas las ideas...
  #8 (permalink)  
Antiguo 22/04/2005, 16:26
Avatar de rbczgz  
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.208
Antigüedad: 14 años
Puntos: 147
Ya está localizado el problema!!

El problema es que el script se queda en los temporales No se por qué ni como , pero agradecería mucho que alguien me pudiera decir como evitarlo

En fin, por lo menos ya hace lo que tenía que hacer (enviar el form y la autorrespuesta ) ahora si consigo hacer que no se quede en los temporales, sería lo más

Muchas gracias, amigos
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 17:18.