Foros del Web » Programando para Internet » PHP »

Problema con FORMULARIO DE CORREO PHP

Estas en el tema de Problema con FORMULARIO DE CORREO PHP en el foro de PHP en Foros del Web. Hola Chicos del Foro Necesito nuevamente su ayuda. Estoy rediseñando mi sitio web, un amigo me ayudaba (YA NO). Para el formulario de contacto bajamos ...
  #1 (permalink)  
Antiguo 15/09/2009, 21:49
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 10 meses
Puntos: 0
Problema con FORMULARIO DE CORREO PHP

Hola Chicos del Foro



Necesito nuevamente su ayuda. Estoy rediseñando mi sitio web, un amigo me ayudaba (YA NO). Para el formulario de contacto bajamos un archivo flash + PHP (ffiles), lo editamos y lo adaptamos a nuestro sitio web.

Nos costo bastante, ya que el archivo PHP tenia problemas. Hoy por alguna razon que aun no entiendo el archivo PHP desaparecio de mi servidor, al buscar el archivo para volver a subirlo NO LO ENCONTRE, solo encontre el que alguna ves trabajamos, pero este presenta errores que no puedo solucionar.

Al colocar el archivo PHP en mi servidor y probarlo (El archivo FLASH esta arriba y esta OK). Envia el mail con los datos EN BLANCO y el archivo FLASH que luego de enviar el mail deberia entregar un mensaje de "Gracias por comunicarse..." se quedo pegado con el mensaje "Enviando al servidor de correo".

Les dejo el archivo PHP PORFAVOR me urge la ayuda ya que en estos momentos mi sitio esta sin formulario de CONTACTO.


DESDE YA, GRACIAS¡¡¡¡



FORMULARIO DE CONTACTO EN FLASH

<?php
#
$MailTo="xxx"arrroba"xxxx.cl";
$firstname=utf8_decode($firstname);
$firstname=eregi_replace( "\r", "\n", $firstname);
$firstname=stripcslashes($firstname);
$lastname=utf8_decode($lastname);
$lastname=eregi_replace( "\r", "\n", $lastname);
$lastname=stripcslashes($lastname);
$Subject=utf8_decode($Subject);
$Subject=eregi_replace( "\r", "\n", $Subject);
$Subject=stripcslashes($Subject);
$Body=utf8_decode($Body);
$Body=eregi_replace( "\r", "\n", $Body);
$Body=stripcslashes($Body);


#
# Formating Date ################################################## ##########
# ("m.d.Y"); pour passer au format europŽen ("d.m.Y");
# Pour rajouter les heures de dŽcalage horaire ,ajouter "time()+3600*(2+date("I")));" +2 heure d'ŽtŽ RŽunion
$nowDay=date("d.m.Y");
$nowClock=date("H:i:s",time()+3600*(1+date("I")));
#
# Formating Body content ################################################## ####
#
$FormContent="
Les informations suivantes ont été recues le $nowDay à $nowClock:\n\n
----------------------------------------------------------------------------\n
Nombre: "$_POST"$firstname\n
Apellido: $lastname\n
E-mail: $MailFrom\n
Fono: $Phone\n
----------------------------------------------------------------------------\n
Motivo: $Subject\n
----------------------------------------------------------------------------\n
Mensaje: $Body\n
----------------------------------------------------------------------------\n

".urlencode(utf8_encode($FormContent));
#
#
mail($MailTo, "$Subject (de $firstname $lastname)", $FormContent, "From: $MailFrom");
#
#
# Autoresponder ################################################## ###########
#
#
$filename = "answer.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail( "$MailFrom", "Gracias por su mail a ", "$contents\n\n",
"From:xxx"arrroba"xxxx.cl\n" );
#
#
# Flashsignal Variable ################################################## ####
#
$signal=1;
echo "signal=$signal";
#
################################################## #############################
?>
  #2 (permalink)  
Antiguo 17/09/2009, 22:17
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema con FORMULARIO DE CORREO PHP

Hola
Y el formulario esta hecho en php o es en flash y se comunica con el php?
y si es asi, que metodo usa para envio de datos, get o post?
y bueno, sabiendo eso y los nombres de las variables que envia el flash
cambiaria los campos, por ej
$firstname=utf8_decode($firstname);
por
$firstname=utf8_decode($_POST['campofirstnamequevienedeflash']);
o
$firstname=utf8_decode($_GET['campofirstnamequevienedeflash']);

y asi con las demás variables

Prueba y nos cuentas
Saludos
  #3 (permalink)  
Antiguo 18/09/2009, 15:22
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problema con FORMULARIO DE CORREO PHP

Hola

Gracias por la respuesta. Si se soluciono el tema, ahora me llegan los mensaje al mail, sin embargo tengo dos dudas si me puedes ayudar.

1.- Existe formade agregar un codigo, para que junto al mail me llegue el IP del usario que lo envia?. Yo en otro PHP use $Message.= "Enviado desde : ".$_SERVER["REMOTE_ADDR"]; pero en este no funciona o quizas no lo estoy colocando en el lugar preciso.

2.- Es posible darle formato al correo que nos llega. Trabajamos con OUTLOOK y los correos que nos llegan son SIN FORMATO, es posible darte un orden con HTML y como puedo hacerlo?


De verdad MUCHAS GRACIAS por la ayuda... He estado aprendiendo a usar PHP pero para un usario aprendis esto esta un poco complicado.


NUEVAMENTE GRACIAS... Saludos y espero sus comentarios.


PD: Les dejo como a quedado el CODIGO DE PHP AHORA.


<?php
#
$MailTo="xxxarroba.cl";
$firstname=utf8_decode($_POST['firstname']);
$firstname=eregi_replace( "\r", "\n", $firstname);
$firstname=stripcslashes($firstname);
$lastname=utf8_decode($_POST['lastname']);
$lastname=eregi_replace( "\r", "\n", $lastname);
$lastname=stripcslashes($lastname);
$MailFrom=utf8_decode($_POST['MailFrom']);
$MailFrom=eregi_replace( "\r", "\n", $MailFrom);
$MailFrom=stripcslashes($MailFrom);
$Phone=utf8_decode($_POST['Phone']);
$Phone=eregi_replace( "\r", "\n", $Phone);
$Phone=stripcslashes($Phone);
$Subject=utf8_decode($_POST['Subject']);
$Subject=eregi_replace( "\r", "\n", $Subject);
$Subject=stripcslashes($Subject);
$Body=utf8_decode($_POST['Body']);
$Body=eregi_replace( "\r", "\n", $Body);
$Body=stripcslashes($Body);


#
# Formating Date ################################################## ##########
# ("m.d.Y"); pour passer au format europŽen ("d.m.Y");
# Pour rajouter les heures de dŽcalage horaire ,ajouter "time()+3600*(2+date("I")));" +2 heure d'ŽtŽ RŽunion
$nowDay=date("d.m.Y");
$nowClock=date("H:i:s",time()+3600*(1+date("I")));
#
# Formating Body content ################################################## ####
#

$FormContent="
Enviado el $nowDay a las: $nowClock:\n\n
--------------------------------------\n
Nombre = $firstname\n
Apellido = $lastname\n
E-mail= $MailFrom\n
Fono = $Subject\n
--------------------------------------\n
Motivo: $Phone\n
--------------------------------------\n
Mensaje: $Body\n
--------------------------------------\n


".urlencode(utf8_encode($FormContent));
#
#
mail($MailTo, "$Phone ", $FormContent, "From: $MailFrom");


#
#
# Autoresponder ################################################## ###########
#
#
$filename = "answer.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail( "$MailFrom", "Gracias por su mail a ", "$contents\n\n",
"From:xxxxxxx.xx\n" );
#
#
# Flashsignal Variable ################################################## ####
#
$signal=1;
echo "signal=$signal";
#
################################################## #############################
?>
  #4 (permalink)  
Antiguo 20/09/2009, 16:31
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema con FORMULARIO DE CORREO PHP

Hola

Para el punto 1
Si haces esto en una pagina aparte

echo $Message.= "Enviado desde : ".$_SERVER["REMOTE_ADDR"];
Muestra el valor de $_SERVER??? yo lo hice con tu codigo y me funciona bien

Ahora, para el punto 2

Si es posible, en la variable $Body puedes concatenar una pagina html, es decir, algo asi

$body = '<html><table><tr><td><strong>Prueba de html</strong></td></tr></table></html>';

Has incluso esta prueba en un php aparte antes de usarlo en el del mail para verificar que el html te este pintando bien
Espero os sirva
Saludos
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 05:21.