Foros del Web » Programando para Internet » PHP »

Recargar mi página

Estas en el tema de Recargar mi página en el foro de PHP en Foros del Web. Tengo que realizar algo que me recargue la página solo la primera vez que entre a la misma. He realizado esto pero no me da ...
  #1 (permalink)  
Antiguo 22/04/2004, 22:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Recargar mi página

Tengo que realizar algo que me recargue la página solo la primera vez que entre a la misma. He realizado esto pero no me da pie con bola(como se dice acá en Cuba):
Código PHP:
<?
 $firsttime 
0;
 if(
$firstime==0){
  echo 
"<meta http-equiv='Refresh' Content='1 ;url=indexadmin.php?accion=entrar&type=".$HTTP_COOKIE_VARS['usertype']."&ses=".$HTTP_COOKIE_VARS['sessionid']."'>";
  
$firtime ++;
 }
?>
puesto que cada vez que entre en la pagina mi variable va a ser cero.

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 22/04/2004, 22:32
 
Fecha de Ingreso: marzo-2004
Ubicación: $_SERVER['DOCUMENT_ROOT'] :-)
Mensajes: 100
Antigüedad: 13 años, 8 meses
Puntos: 0
$_SESSION["firsttime"]=1;

Salud!
__________________
-- girls.code.better --
  #3 (permalink)  
Antiguo 22/04/2004, 22:54
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Pero como me quedaría

Pero como me quedaría el código entonces. Me ayudas ?
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 22/04/2004, 23:00
 
Fecha de Ingreso: marzo-2004
Ubicación: $_SERVER['DOCUMENT_ROOT'] :-)
Mensajes: 100
Antigüedad: 13 años, 8 meses
Puntos: 0
Código PHP:
<?
session_start
();
 if(!isset(
$_SESSION["firsttime"])){
  echo 
"<meta http-equiv='Refresh' Content='1 ;url=indexadmin.php?accion=entrar&type=".$HTTP_COOKIE_VARS['usertype']."&ses=".$HTTP_COOKIE_VARS['sessionid']."'>";
  
$_SESSION["firstime"]=1;
 }
?>
__________________
-- girls.code.better --
  #5 (permalink)  
Antiguo 23/04/2004, 07:31
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Nada

Ese no me sirve, pues me entra en un ciclo indefinido y se me recarga la página cada un segundo.
Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 23/04/2004, 08:55
 
Fecha de Ingreso: marzo-2004
Ubicación: $_SERVER['DOCUMENT_ROOT'] :-)
Mensajes: 100
Antigüedad: 13 años, 8 meses
Puntos: 0
Amigo.

Debes tratar de ENTENDER lo que te postean, y NO esperar a que te HAGAN las cosas.

Si te tomaras un poco de molestia en revisar el código, te darías cuenta que hay un error.

Código PHP:
<?
session_start
();
 if(!isset(
$_SESSION["firsttime"])){
  echo 
"<meta http-equiv='Refresh' Content='1 ;url=indexadmin.php?accion=entrar&type=".$HTTP_COOKIE_VARS['usertype']."&ses=".$HTTP_COOKIE_VARS['sessionid']."'>";
  
$_SESSION["firsttime"]=1// LO NOTAS!!!???
 
}
?>
Solo esfuerzate un poquito.
__________________
-- girls.code.better --
  #7 (permalink)  
Antiguo 23/04/2004, 09:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si sólo se ha de recargar la primera vez (¿y para que quieres hacer eso?) sería ...
Código PHP:
<?
session_start
();
 if(!isset(
$_SESSION["firsttime"])){
  
$_SESSION["firstime"]=1;
  
header ("Location: ".$_SERVER['PHP_SELF']);
  exit;
 }
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 23/04/2004, 09:39
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Gracias a ambos

Gracias a ambos. Ya he resuelto mi problema. Cluster no se si te acuerdas de aquel POST que puse hace un tiempo donde explicaba que propagaba dos variables mediante cookies de esta forma:
Código PHP:
 setcookie("sessionid",$_GET['sessionid']); 
y luego las usaba en mis links de esta forma:
Código PHP:
 asignaturasadmin.php?action=admin&type=<? echo $HTTP_COOKIES_VARS['usertype']; ?>&ses=<?php echo $HTTP_COOKIES_VARS['sessionid']; ?>"
Pues bueno para eso me hacia falta recargar la página, pues al entrar a la pagina las cookies se creaban en la misma página donde las llamaba. Ahora he resuelto el problema usando sesiones. Lo he resuelto de esta forma:
Código PHP:
 require("functions.php");
 
server();
 
session_start();
 
checaadminsess();
 
nocache();
 
$_SESSION['sessionid']=$_GET['ses'];
 
$_SESSION['usertype']=$_GET['tipo']; 
y los vínculos son así ahora:
Código PHP:
 asignaturasadmin.php?action=admin&type=<? echo $_SESSION['usertype']; ?>&ses=<?php echo $_SESSION['sessionid']; ?>
pero me queda una sola duda. En mi archivo logoutses.php tengo este código:
Código PHP:
 require("functions.php");
 
nocache();
 
session_start();
 
session_unset();
 
session_destroy();
 
redirect("Cerrar sesión","3","index.php","Cerrando sesión"); 
eso elimina todas las sesiones creadas previamente en la administración ??

Salu2
__________________
Ing. Reynier Pérez Mira
  #9 (permalink)  
Antiguo 23/04/2004, 09:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Reynier .. sinceramente .. creo que deberías bajar el ritmo de "picar código" (escribir código) y sentarte a ver la estructura de tu sitio y aplicaciones.

Sobre todo con el uso de sesiones que haces .. Todavía no comprendo para que mueves de un lado a otro (de cookies a por el URL) el SID .. cuando PHP ya lo hace!!!! si usas session.use_cookie = 1 y te olvidas de todo. Pero .. bueno .. sólo es una recomendación .. si vas solventando los problemas con "parches" y te funcionan .. Suerte!.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 23/04/2004, 09:56
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Cluster de nuevo por aquí

Mira lo que pasa es que es SID no es el que me crea PHP. Mira te explico un poco como funciona mi sitio para que me des tu opinión acerca de si está mal o bien pensado. Inicialmente registro los usuarios en mi sitio. Eso es lo normal. Cuando el usuario se logea por primera vez en el sitio le creo una session virtual(jeje ;) así le llamo yo) pues lo que hago es esto:
Código PHP:
 $ses md5(session_id()); 
y eso es lo que tengo en la Base de Datos en el campo session de ese usuario. Y lo que hago es comprobar cada vez que el entra que la sesión que se crea tenga ese valor.

Salu2

PD: Espero tus críticas acerca de mi forma de pensar.
__________________
Ing. Reynier Pérez Mira
  #11 (permalink)  
Antiguo 23/04/2004, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sinceramente .. no sé para que te lias generando un MD5() de un ID de sesión que ya de por sí es otro md5() .. Y todo lo que conlleva propagar tu própio ID ..

Si al menos me dices que estas cambiando el "handler" por defecto de PHP para gestionar las sesiones (en archivos de texto plano) por otro médio (una base de datos .. etc) . .OK, pero sólo para eso .. no creo que vale la pena. Y más cuando recien estás aprendiendo como funciona el tema. Primero hay que concerlo y trabajar con el (tema sesiones por ejemplo) despues con el tiempo ya te harás tus própios "handlers" para gestionarlos (como de hecho hay un buen montón de classes para tal fin ..)

Si usas sesiones, normalmente se usan para propagar X valores entre las páginas que necesites o para hacer un seguimiento a un usuario como es tu caso e identificarlo en tu sistema. Normalmente se usa la sesión y datos que guardes en ella justamente para evitarte consultas a tus Base de datos para obtener datos que probablemente tengas en tu BD .. pero cuando entra tu usuario los vuelcas a una sesion (nombre, permiso en tu sistema .. etc ..) para trabajarlos por ahí .. Si tu te lias con el ID de sesión para hacer una comprobación con tu BD ya estas "quemando" recursos que creo que deberias destinar a otra funcionalidades de tu aplicacion.

Una de las justificaciones para guardar tu ID de tu sesión en tu sistema podría ser para hacer un completo seguimiento al usuario en tu sistema y ver por qué páginas se va moviendo en el sistema (comparando tu ID de sesión con la petición) y así detecartar si es el mismo usuario que inició una sesión .. Pero igualmente ... esi ID yo lo gestionaría con el que ya proporciana PHP con su control de sesiones y dejaría a PHP que lo propage "solito" por cookies como así lo haces con tu própia cookie que debes gestionar (cuando es probable que PHP tambien esté haciendolo ya según uses session.use_cookies ..) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:34.