Ver Mensaje Individual
  #12 (permalink)  
Antiguo 23/01/2005, 13:53
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Ya, xo puedo sacar la alerta primero antes del header???
echo "<script language='javascript'>window.alert('Introduzca todos los datos obligatorios')</script>";
header("Location: pagina.tal");
exit; --> esto no funciona y de hecho he leido que el header tiene que estar antes que cualquier salida por pantalla, no??
Tienes que cambiar tu "filosofìa" de como entiendes "PHP" .. los mensajes de error debes presentarlos en la página que llegas al redireccionar .. no en el script PHP de proceso en si.

Para eso .. a la pàgina que redireccionas le pasas por ejemplo por una variable de sesión po por el URL tu "còdigo de error" para que puedas hacer cosas tipo:

Código PHP:
if (se origina un error){
header ("Location: pagina_que_redireccionamos.php?error=1");
exit;

y en "pagina_que_redireccionamos.php" controlas si "llega un error" tipo:

Código PHP:
if (isset($_GET['error'])){
echo 
"Ocurrió el error còdigo: ".$_GET['error']";

Ademàs .. si usas ese "alert" tuyo de javascript en la pàgina que redirecionas al final de la misma .. veras como no ves una pàgina en "blanco" con tu "alert" ahi y cuando pulsan el botòn de "aceptar" de ese alert() de javascript redirecciona a tu página sino que veras tu página completa ya "redireccionada" y tu alert() ahí a la espera .. "visualmente" para el usuario màs agradable que ver una "pagina en blanco" por unos instantes.

Por ende .. este "script" de proceso que va a validar tus sesiones y en función de todo esa lógica va a redireccionar .. no tiene sentido que en ella exista NADA de HTML .. ni <html> .. ni nada .. recuerda que el objetivo de este "proceso" es determinar "qué" página se va a redireccionar en caso de error .. o bien quedarse en esta misma .. asì que estas validaciones tendrán que estar al principio de tu´script .. pues será tu lógica (if y demás) quien decida que se va hacer.

Cita:
ini_set("session.use_cookies","0");//descativamos el uso de cookies para nuestras sessions
ini_set("session.use_trans_sid","1");//activamos el uso de la url para enviar el SID de nuestra session
y propago el SID por URL, es probable que ya no tenga el problema este con las cookies??mi problema, no se si te acuerdas, se arreglaba borrando cookies siempre que entre en el modulo administrativo!!
Si haces eso .. debes conocer que PHP va a re-escribir ciertos tags HTML como los links, formularios y algunos màs para "insertar" automàticamente el SID en esos redireccionamientos. Lo que no va hacer es insertar el SID ni en redireccionamientos javascript (como los que tu haces) .. ni en Header("Location: ...") (como te recomiendo su uso) .. así que almenos en estos mètodos deberas hacerlos tu manualmente, sino igualmente "perderas" el SID por el camnio y con ello tus variables de sesiòn.

Por otro lado te recomendarìa estudiar y probar mi script "Autentificator" (con fines didacticos) para que veas como trabajar con la autentificaciòn de una forma sencilla y sin tantos lios como haces con tus "ok" .. el "yes" y demàs lios que haces, ademàs que para que veas como usar "header()"

http://php.cluster-web.com/autentificator

Un saludo,