Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/11/2005, 10:25
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El hecho físico de la "alerta" lo haces vía javacript .. si tienes que lanzar ese mensaje tras algúna acción de PHP como la que mencionas tendrás que generar ese "javacript" vía PHP cuando corresponda.

Ejemplo:

Código PHP:
if (mysql_query("Insert ... ")){
   echo 
"<script languaje=\"javascript\">alert('todo OK')</script>";
} else {
   echo 
"<script languaje=\"javascript\">alert('todo MAL')</script>";

Pero .. ten presente siempre como "funciona" PHP ... si pruebas el ejemplo .. la página HTML generada (con eso sólo o más HTML que lo "adorne") no se generará completamente hasta que tu aceptes o no dicho botón (quedandote un bonito fondo "en blanco" en tu navegador).

Lo normal es que ante tu evento PHP (condicional .. etc) redirecciones a una página cualquiera y ahí .. ante un evento de javascript tipo "onLoad" lances tu "alert()" .. con la diferencia en este caso que tu página HTML se desplegará complet y una vez "cargada" se llamará a tu función javascript de "alert".

Sería algo tipo:

script de proceso.php:

Código PHP:
<?
if (mysql_query("Insert ... ")){
  
header ("Location: pagina.php?mensaje=1");
  exit;   
} else {
  
header ("Location: pagina.php?mensaje=2");
  exit;   
}
?>
Mi script de Proceso en este caso sólo hace que "redireccionar" ante cierta condición pasando como parámetro a la página que se redirecciona una variable de control para poder procesarla en la página destino y así mostrar el error o mensaje en consecuencia.


pagina.php
Código PHP:
<html>
<head>
</head>
<body 
if (isset($_GET['mensaje'])){
echo " onLoad=alert('mensaje: '<? echo $_GET['mensaje']?>)";
}
>
Blablabla
blabalbal
blabla
</body>
</html>
Si te fijas .. si pagina.php recibe ?error=X como parámetro .. se genera la sentencia Javascript "onLoad" ... si no se recibe ese parámetro .. no se genera esa sentencia javascript (caso de una primera "carga" de esa página)

Un saludo,