Foros del Web » Programando para Internet » PHP »

Sesiones en php

Estas en el tema de Sesiones en php en el foro de PHP en Foros del Web. Hola a todos espero me puedan ayudar , estoy empesando a crear una aplicacion web , y deseo informacion como puedo administrar las sesiones de ...
  #1 (permalink)  
Antiguo 11/07/2004, 16:43
 
Fecha de Ingreso: octubre-2003
Ubicación: Chiclayo - Peru
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Sesiones en php

Hola a todos espero me puedan ayudar , estoy empesando a crear una aplicacion web , y deseo informacion como puedo administrar las sesiones de manera eficiente , gracias de ante mano a todos los que puedan ayudarme
__________________
:cool: J.C.Q.M
  #2 (permalink)  
Antiguo 11/07/2004, 17:04
Avatar de BooMeranGz  
Fecha de Ingreso: febrero-2001
Mensajes: 345
Antigüedad: 16 años, 9 meses
Puntos: 0
Hola, no soy ningún experto, solo te explicaré como las uso yo de manera simple (solo para ir registrando las variables y sus valores):

En un primer x.php declaro y asigno valores por primera vez a todas las variables que usaré:
Código PHP:
<?
  
if (session_unset()) session_destroy();
  
session_start();
  
session_register('var_1','var_2','var_3');
  global 
$var_1$var_2$var_3;
  
$_SESSION['var_1'] = 'loquesea';
  
$_SESSION['var_2'] = $loquesea;
  
$_SESSION['var_3'] = 'vacio';
?>
Luego, para registrar un nuevo valor en alguna de las variables que ya tengo en las sessiones, hago esto:
Código PHP:
<?
  session_start
();
  
session_register('var_1',);
  
$var_1 nuevo valor que puede venir de cualquier cálculo;
  
$_SESSION['var_1'] = $var_1;
?>
Luego, para extraer el valor de alguna de las variables que ya tengo en las sessiones, hago esto:
Código PHP:
<?
  session_start
();
  
session_register('var_1',);
  
$var_1 $_SESSION['var_1'];
  echo 
$var_1;
?>
Y así con cualquier variable que tengo registrada, esto para usar sessiones de manera básica me funciona bien, no se si es lo que necesitas

Salu2.
  #3 (permalink)  
Antiguo 12/07/2004, 16:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
BooMeranGz
No tiene sentido (y es más .. lo recomienda PHP) no mezclar session_register() cuando ya usas los arrays superglobales $_SESSION para trabajar con tus variables de sesión.

Lo dice en:
www.php.net/session

Y .. todo esto no lo entiendo:

<?
if (session_unset()) session_destroy(); // ?? que función cumple? ..
session_start();
session_register('var_1','var_2','var_3'); // si ya usas $_SESSION no debes usarlo.!
global $var_1, $var_2, $var_3; // para qué? (o es qué esto está en una función?)
$_SESSION['var_1'] = 'loquesea';
$_SESSION['var_2'] = $loquesea;
$_SESSION['var_3'] = 'vacio';
?>

Un saludo,
  #4 (permalink)  
Antiguo 12/07/2004, 17:58
Avatar de BooMeranGz  
Fecha de Ingreso: febrero-2001
Mensajes: 345
Antigüedad: 16 años, 9 meses
Puntos: 0
Hola Cluster,

O sea que según tu indicación, lo que puse antes debería quedar así?:

Código PHP:
<?
// Crear:
//
  
session_start(); 
  
session_register('var_1','var_2','var_3','var_x');
?> 

<? 
// Registrar:
//
  
session_start(); 
  
$var_1 nuevo valor que puede venir de cualquier cálculo
  
$_SESSION['var_1'] = $var_1
?> 

<? 
// Recuperar:
//
  
session_start(); 
  
$var_1 $_SESSION['var_1']; 
  echo 
$var_1
?>
¿Y porque a mi me funciona de la otra manera?

Igualmente te agradezco la corrección, voy a ponerla en práctica si mi ejemplo aqui es el correcto
Cita:
if (session_unset()) session_destroy(); // ?? que función cumple? ..
Según leí en algun foro alguna vez, destruye todas las sessiones si ya fueron iniciadas ants, pero no se si es así o no, y menos ahora que tu me lo dices
  #5 (permalink)  
Antiguo 12/07/2004, 18:10
Avatar de sir_notos  
Fecha de Ingreso: noviembre-2001
Ubicación: Mexicali
Mensajes: 709
Antigüedad: 16 años
Puntos: 1
Creo que a lo que cluster se refiere es ke no nesesitas llamar a

session_register

cuando usas $_SESSION
__________________
Usuario Registrado de linux #374849
  #6 (permalink)  
Antiguo 12/07/2004, 18:14
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Cita:
Iniciado por BooMeranGz
...

Según leí en algun foro alguna vez, destruye todas las sessiones si ya fueron iniciadas ants, pero no se si es así o no, y menos ahora que tu me lo dices
Correcto, destruye la sesión, pero como quieres destruirlo si luego tienes que recuperarlo.
  #7 (permalink)  
Antiguo 12/07/2004, 19:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El código de "crear":

<?
// Crear:
//
session_start();
session_register('var_1','var_2','var_3','var_x');
?>

no se usa si ya "registras" con $_SESSION dando el valor que corresponda en el momento que requieras. En la próxima recarga de página o "petición" ya quedarán disponibles esas variables en la sesión creada y las accederas bajo $_SESSION (array superglobal y previo inicio del uso de sesiones con: session_start() )

-----
Sobre el tema de session_destroy() así como lo usas .. mejor sería usar: session_regenerate_id() (pero ojo por qué sólo sirve para PHP 4.3.x (ahora no recuerdo exacta la versión) .. Esa función genera un nuevo SID, por ende desecha el SID anterior (si es que venía de una sesión iniciada y no se hizo un "session_destroy()" ... )

De todas fomas para tu caso sería cosa de hacer algo tipo:

session_unset($_SESSION);
session_destroy();

Pero igualmente el "session_destroy()" no afecta al uso de sesiones hasta la próxima recarga de página o petición de página al servidor .. por ende no tendría que tener el efecto esperado según lo usas (en un mismo flujo del script).

Un saludo,
  #8 (permalink)  
Antiguo 12/07/2004, 20:20
Avatar de BooMeranGz  
Fecha de Ingreso: febrero-2001
Mensajes: 345
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo

Muchas gracias por estas aclaraciones, parece que realmente estaba errado (no debo haber ayudado mucho a Alcon20 )...

Entonces según lo que leo, debería usar las sessiones de esta manera por ej.:
Código PHP:
<? 
// Crear una session() cuando las necesito (o sea una variable): 
//
  
session_start();
  
$_SESSION['var_x'] = $var_x
?> 

<? 
// Volver a Registrar un cambio de valor en la misma variable global: 
//
  
session_start(); 
  
$var_x nuevo valor que puede venir de cualquier cálculo
  
$_SESSION['var_x'] = $var_x
?> 

<? 
// Recuperar el valor en cualquier momento: 
//
  
session_start(); 
  
$var_x $_SESSION['var_x']; 
  echo 
$var_1
?>
Si no me equivoco ¿ahora estaría correcto?

¿Y para que esto funcione que debo tener en cuenta en el PHP.INI?

Otra cosa ya que estamos desburrándonos, ¿como sería el mismo ejemplo que puse ahora pero usando session_register('var_x');?

Última edición por BooMeranGz; 12/07/2004 a las 20:24
  #9 (permalink)  
Antiguo 12/07/2004, 20:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sobre el ejemplo de session_register() y equivalentes .. tienes esta FAQ:
http://www.forosdelweb.com/showthrea...998#post238998

Sobre que tener encuenta en el "php.ini" .. Mas que el hecho de referirte al própio php.ini lo que debes referirte es la "propagación del SID". Parte -funda..mental- (jeje) que debes conocer para saber como realmente van a funcionar/comportar tus sesiones ante diferentes configuraciones (php.ini) de servidores y/o hasta configuraciones de "clientes" (navegadores).

En el foro (por mi parte) se suele hablar bastante sobre sesiones y su configuración además de teoría .. Si haces una pequeña busqueda por "sesiones" verás muchos témas interesantes donde se explica algo de teoría y configuración de PHP sobre sesiones. Por ejemplo este:
http://www.forosdelweb.com/f18/consulta-novata-sobre-sid-215201/

Y no te olvides de la documentación oficial de PHP al respecto:
www.php.net/session

Un saludo,
  #10 (permalink)  
Antiguo 13/07/2004, 01:00
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 4 meses
Puntos: 21
hola amigos tengo una duda todos sabemos que cada ves que abres tu navegador
se crea una sesion, pero resulta que en mozilla no haces tal cosa osea, si tengo una sesion crear en una ventana de mi navergador de mozilla y inmediatamente abro otra ventana del mismo navegador, no se crea otro archivo de sesion en los temporales, lo que haces es borrar los datos de la sesion anterior que diablos puede estar pasando con mozillla o que podra ser?????
__________________
gerardo
  #11 (permalink)  
Antiguo 13/07/2004, 07:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
chalchis ...

Pese que en este mensaje se habla de sesiones .. tu caso es "particular" .. es más .. ya iniciastes un nuevo tema con esta misma pregunta en:

http://www.forosdelweb.com/f18/crear-sesiones-usando-mozilla-216597/

Por favor .. usa el mensaje mencionado (y los que deseen responderte).

Un saludo,
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:25.