Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/11/2005, 14:37
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por apuenco
ok, muchas gracias
y otra cuestion (es mi primer programa)
como puedo hacer para que espere unos segundos antes de que me redireccione?
gracias
Puedes usar HTML con sus cabecera META correspondiente a "refresh".

Pero .. la idea NO es que tu script de proceso sea el que: muestre un mensaje, espere un tiempo y redireccione.

El proceso debería ser:

script_proceso.php
Código PHP:
<?
if (tal cosa){
   
header ("Location: mensajes.php?msg=1&donde_ir=nose.php");
   exit;
} else {
   
header ("Location: mensajes.php?msg=2&donde_ir=otronose.php");
   exit;  
}
?>
mensajes.php
Código PHP:
<html>
<head>
<META HTTP-EQUIV=Refresh CONTENT="10; URL=<? echo $_GET['donde_ir'?>">: 
</head>
<body>
<?
if (isset($_GET['msg'])){
   echo 
"El mensaje es: ".$_GET['msg'];
}
?>
</body>
</html>
Si te fijas .. en el script de proceso .. SIEMPRE redirecciono a otro script, concretamente a uno que tengo dedicado para mostrar mensajes de error/exito (podría ser integrado en otro script según corresponda). Se muestra el mensaje y se incluye la cabecera que indica hacia donde redireccionar finalmente.

Usa un par de variables para describir el mensaje y donde ir (URL final tras mostrar el mensaje).

Con este método no se pone en compromiso la seguridad de tus scripts de proceso. Ejemplo: imagina que tu envias un e-mail o generas un registro en una tabla de una BD en tu "script_proceso.php", si mientras esperas para redireccionar a otra página .. por A o B motivo a mi como usuario me diese por recargar la página (en la que estoy que en ese caso es la tuya de "script_proceso.php" .. ) originaría un evio duplicado de ese e-mail . .o un registro duplicado de esos mismos datos .. tanto y tantas veces como al usuario le dé por estar recargando la página.

De esta forma, lo más rápido posible se redirecciona hacia otra página que va a mostrar el mensaje de error, puede esperar todo lo que gustes y hacer todo lo que quieras sin ningún compromiso, si recargo la página . .recargo la de los "mensajes" no la del "proceso".

Un saludo,