Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/09/2006, 15:51
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Ese "alert" no deberías de presentarlo en el script que hace el proceso sino en el script/página que lo lanza ..

Es decir .. el proceso sería:

En tu "aplicación" .. donde tienes tu link hacia enviar_email.php

Código PHP:
<?
if ($_GET['msg'] == "OK"){
// o muestras un mensaje en alguna parte de la página ..
echo "el e-mail se envió OK";
}
?>
O llamas a tu javascript para tu "alert()" .. pero en ese caso, pon esta validación al final casi de tu código HTML (de tu </body>) para que se "cargue la página" y al instante se llame a tu "alert()" .. sino, veras la página en "blanco" y el alert() encima .. aceptas y se "redibuja la página" .. (Esto con javascript y un evento "onLoad()" en el body() quedaría mejor ..)


Y tu script de proceso PHP (enviar_email.php)

enviar_email.php

Código PHP:
<?
// tu código ... 
if (mail(............)){
   
header ("Location: aplicacion.php?msg=OK");
   exit;
} else {
   
header ("Location: aplicacion.php?msg=fallo");
   exit;
}
?>
Si te fijas .. al terminar el proceso, .. redirecciono a tu "aplicación" .. NO se levanta ninguna ventana (no deberías en este caso). Por supuesto se recarga la página "padre" (así que si tienes "formularios" por médio .. eso sería un problema que se puede resolver ..).

Si aún así quieres abrir tu ventana y mostrar tu alert? .. mejor usaría yo un frame/iframe oculto para realizar el proceso .. el "alert" lanzado en ese "frame" oculto se verá sobre el "frame-set" (todo esto son más bien "problemas de HTML/javascript" que no de PHP . .tu sólo tienes que tener claro donde "mandas" a ejecutar tu proceso y saber que el frame/iframe o ventana que escojas ahí quedará el proceso al finalizar PHP).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.