hola, queria saber como hago para que un header("location xxx.com") espere un timpo antes de redireccionar, pero mostrando un mensaje (si se puede, si no, no)
algo asi como hace este foro cuando posteas un mensaje...
gracias
| ||||
me temo q solo lo podras hacer con javascript
__________________ |
| |||
Con etiquetas META de refresh ... (en el foro HTML te orientaran ..). También se puede hacer con Javascript (en tal caso .. al foro javascript). Pero .. OJO donde lo usas. Lo lógico es que redirecciones .. le pases alguna variabel de control .. y en la página que redireccionas le muestres el mensaje que corresponda. Eso evitará por ejemplo que si en un scrip tienes una estructura tipo: <? // recoges unos datos de un formulario ... // haces un proceso de INSERT por ejemplo en una BD o envias un e-mail .. o similar .. // muestras mensaje de error/exito .. esperas y redireccionas. ?> En ese punto que está mostrandomen el mensaje de error/exito .. si "RECARGO" la página voy a ocasionar registros duplicados a tu BD o eviar e-mails duplicados .. o lo que hagas en ese script .. pues el navegador intentará enviar denuevo las variables al script php que hace ese proceso. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
ok, gracias cluster, pero me gustaria que me explicaras, si no es molestia, un poquito mas detallado, porque no entiendo porque ha de generar registros duplicados... gracias
__________________ "El paisano es la persona que lleva el paisaje en el alma" Atahualpa Yupanqui |
| ||||
Hola, Creas registros duplicados al recargar la página sencillamente porque ejecutarás la consulta SQL 2 veces, y asi sucederá tantas veces como el usuario recargue la página. Por lo tanto debes hacer lo que te dice Cluster, pasar una variable de control que no permita hacer procesos duplicados. |
| |||
Creo que la mejor opcion, como decia Cluster, es crear la etiqueta Meta del html. algo asi: echo "<html>"; echo "<head>"; echo "<meta http-equiv='refresh' content='5; URL=pag.php'>"; echo "</head>"; echo "<body>"; si te fijas, las etiquetas son html, por eso te las edito con el echo, como si de un php se tratase. en el content, le pasas los segundos que quieras de espera antes de ir a la pagina. espero haberte ayudado. Salu2 |
| ||||
Código PHP:
__________________ |
| ||||
ok, muchas gracias bueno, pense que con esto lo solucionaba, pero..... estoy usando el autentificator, y cuando me redirecciona no me valida el usuario y por lo tanto me da un error, el mismo que daria si estuviese tratando de entrar directamente a la pagina sin haberme logueado.... se entiende? bueno espero haberme explicado....gracias
__________________ "El paisano es la persona que lleva el paisaje en el alma" Atahualpa Yupanqui |
| |||
m_sassa .. Mi Autentificator requiere que propagues el SID de la sesion por cookies para que puedas usar cualquier tipo de redirecinamiento con libertad (sino, tendrías que propagar tu a mano el SID en tu redireccionamiento "meta" que estas usando). Revisa la configuración de tu php.ini (o phpinfo() ..) session.use_cookie .. a de estar a "1" ... Lo de los registros duplicados .. ya te lo ha explicado drcyber, la solución te la comenté yo .. Debes de mostar los mensajes de "error/exito" en otra página diferente a la que en el flujo del proceso hagas tu insercción o manipulación de tus datos en tu BD. Cuando digo "página diferente" . no me refiero a una página fisicamente diferente, puede ser la misma .. gestionada por esa variable de control que mencioné ... Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |