Foros del Web » Programando para Internet » PHP »

Enviar Email

Estas en el tema de Enviar Email en el foro de PHP en Foros del Web. Tengo un carrito de la compra hecho con javascript que pasa las siguiente variables a la pagina PHP ($key y $val) desde un array que ...
  #1 (permalink)  
Antiguo 03/10/2003, 13:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
Enviar Email

Tengo un carrito de la compra hecho con javascript que pasa las siguiente variables a la pagina PHP ($key y $val) desde un array que se ha creado con la compra.
Hasta ahora he conseguido enviar el email al destinatario, pero no se ha enviado el contenido de la compra.
A ver si me podeis ayudar. Este es Codigo:

<?php // Recoge las variables del formulario de compra y envia un email
$MailToAddress = "[email protected]";
$MailSubject = "Cibertienda";
if ($email) { // Comprueba si se ha añadido la dirección de correo del cliente, y si no es así se incluye el nombre de la empresa
$MailFromAddress = $EMAIL;
}
else {$MailFromAddress = $EMPRESA;}
$Header = "Orden de Compra";
$Message = "";
if (!is_array($HTTP_POST_VARS)) return;
reset($HTTP_POST_VARS);
while(list($key, $val) = each($HTTP_POST_VARS)) {
$GLOBALS[$key] = $val;
$val=stripslashes($val);
$Message .= $key." = ".$val."\n";
}
if ($Header) {
$Message = $Header."\n\n".$Message."n.n";
}
if (mail( $MailToAddress, $MailSubject, $Message, "From: $MailFromAddressnReply-To: $MailFromAddressnX-Mailer: PHP/" . phpversion())) {
print ("<b><center><font color=red size='12px'>Su email se ha enviado correctamente.<br />Recibirá una contestación en un plazo no superior a 24 horas.Gracias.</font><br /><a href='../index.html'>Volver a Inicio</a></center></b>");
} else {
print ("<b><center><font color=red size='12px'>Su email no se ha enviado por un error.Vuelva a intentarlo.Gracias</font><br /><a href='../index.html'>Inicio</a></center></b>");
}
?>
  #2 (permalink)  
Antiguo 04/10/2003, 02:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El código PHP que usas .. es bastante viejo .. No sé que versión de PHP usaras ni el estado de la directiva de tu php.ini: register_globals .. pero .. sería recomendable que si usas PHP 4.1.0 en adelante .. usases para recoger tus variables $_GET/$_POST según corresponda ... O por lo menos el array $HTTP_POST_VARS en TODAS las llamadas a tus variables del formulario ..

Esas variabels que són del formulario .. que usas en "mayusculas" .. cudidado con eso .. fijate que en tu formulario sean así .. en mayusculas (y lo recomendable es que los nombres de variables sean en minusculas)

Y .. lo dicho .. recoge las variables tipo:
$email=$_POST['EMAIL']; .. o donde las uses ..

El código que usa para recorrere el array $HTTP_POST_VARS .. se puede sustituir por un simple foreach() ...

Fijate en este ejemplo (es un "form2mail" genérico .. casi como el tuyo ..)

Código PHP:
foreach($_POST  as $clave=>$valor){
   if (
is_array($valor)){
      foreach(
$valor  as $valor_multiple){
         
$dato .= $clave." = ".$valor_multiple."\n";        
      }
  } else {
     
$dato .= $clave." = ".$valor."\n";
  }

En la variable $dato tendrías tus variables que recoges del formulario (todas) con su nombre y valor tipo: nombre_var=valor ..

Tienes el código completo en:
http://www.forosdelweb.com/showthrea...hreadid=116341

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:11.