Foros del Web » Programando para Internet » PHP »

Valor inicial de Session

Estas en el tema de Valor inicial de Session en el foro de PHP en Foros del Web. Hola, gracias por leer mi mensaje. Tengo un problema relacionado con las variables de sesión. En ASP sé que en el archivo global.asa pones: session("web")="webA" ...
  #1 (permalink)  
Antiguo 05/07/2003, 04:15
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Valor inicial de Session

Hola, gracias por leer mi mensaje.

Tengo un problema relacionado con las variables de sesión.

En ASP sé que en el archivo global.asa pones:
session("web")="webA"

Es decir, a esa variable de sesión le asignas ese valor desde el primer momento que se inicia una sesión. Y si no lo cambias la variable de sesion session("web") tendrá el valor "webA".

¿cómo se puede hacer algo similar en PHP?

Muchas gracias

Saludos
  #2 (permalink)  
Antiguo 05/07/2003, 04:22
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Yo te recomendaria que te pasaras por las FAQ's de este foro, donde encontraras toda la informacion sobre sesiones que quieras y con ejemplos y aun asi quieras mas informacion Sesiones

Un saludo.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #3 (permalink)  
Antiguo 05/07/2003, 05:11
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
OK, gracias Sexma, ya leí las FAQ'S sobre sessiones pero sigo con dudas:

- Tengo contratado el hosting, el server no es mio ni lo administro yo, ¿cómo accedo al php.ini para saber el valor de la propiedad session.save_path?

- Y cuando sepa el valor de esta propiedad ¿cómo accedo a la carpeta donde se guardan los archivos de las sesiones? He echado una ojeada al arbol de directorios de mi site y no he visto ninguna carpeta donde estén esos archivos.

Supongo que me tendré que poner en contacto con el administrador del servidor, no? ':o)

Muchas Gracias y un saludo
  #4 (permalink)  
Antiguo 05/07/2003, 05:34
V_G
Invitado
 
Mensajes: n/a
Puntos:
Para conocer el valor de session.save_path haz un phpinfo.
  #5 (permalink)  
Antiguo 05/07/2003, 05:37
V_G
Invitado
 
Mensajes: n/a
Puntos:
Vaya, casi se me olvida.
Para cambiarle el nombre a una sesión haz:
Código PHP:
$nombre="Estemismo";
session_name($nombre); 
  #6 (permalink)  
Antiguo 05/07/2003, 08:30
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
En las sessiones de PHP no trabajas con ningun fichero como en ASP, en PHP tu registrar un valor de un sesion con session_register() y despues en cualquier pagina donde quieras manejar el valor de la session pones el session_start().

Ejemplo tipico de login:

login.php
Código PHP:

// le damos un mobre a la sesion.
 
session_name('sesion');
// incia sessiones
 
session_start();
                         
// Asignamos variables de sesión con datos del Usuario para el   
// resto de páginas autentificadas.

$HTTP_SESSION_VARS['id']=$row['usuarios_id'];   
$HTTP_SESSION_VARS['nick'] = $row['usuario_nick'];

// lO de arriba es lo mismo que poner
// session_register($row['usurios_id']
// session_register($row['usuarios_nick'] 
Despues en cualquier pagina que quieras obtener los valores de las sesiones.
Código PHP:
session_name('sesion');
session_start();

// y ya puedes manejar las variables de session
$id $_SESSION['id'];
$nick $_SESSION['nick']; 
Espero que te haya quedamo mas claro. Olvidate de los ficheros de ASP.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #7 (permalink)  
Antiguo 06/07/2003, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. Sexma ...

Las sesiones PHP por defecto crea un archivo (pues usa el "handler" = file) para cada sesión abierta .. la guarda en la ruta que indique la directiva mencionada del php.ini (phpinfo() lo pueden ver) y se destruye (el archivo) al expirar la sesión (según otras directivas de configuración del tema sesiones)...

Es más .. si quieres puedes "llevarte" esos archivos de sesión a tu própia ruta usando la función:

session_save_path()
(antes del session_start() ..)

más info:
http://www.php.net/manual/en/ref.session.php

Es recomendable darle una leida a las difentes directivas de configuración de PHP en el apartado sesiones, pues de como estén algunas de ellas sus estados dependerá mucho de como se puede trabajar con las sesiones. Ejemplo importante es conocer que es el "SID" .. para que sirve y que directivas de configuración influyen en el para su propagación.

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 06/07/2003, 14:35
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Si, ya leí en las faqs de PHP todo lo referente a las sesiones en PHP, pero a mi lo que me interesa es utilizar algo equivalente al global.asa en ASP, es decir, en el momento que alguien entra en mi página y abra una nueva sesión ya existan una serie de variables de sesión con un valor dado.

La única manera que de momento veo para hacerlo es meter en un archivo creado por mí todos esos valores y hacer un include de este archivo en todos y cada uno de los archivos del site.

No sé, pero me suena un poquito ñapa hacerlo así.

¿No hay otra manera más sencilla?

Muchas gracias a todos.

Saludos
  #9 (permalink)  
Antiguo 07/07/2003, 02:41
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Pues no sabia yo que se guardaba un fichero con la sesiones activas pos no em queda todavia por aprender :).

Entonces una pregunta, tu creas una sesion y se te crea el fichero (handler), entonces tu puedes perfectamente guardarte ese fichero a otro sitio. Y si despues de destruir la sesion y borrarse el fichero metes el fichero que te has guardado anteriormente ¿seguiras teniendo las variables de sesion??

Eso que digo no creo que tenga mucha utilidad pero es por pura curiosidad.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #10 (permalink)  
Antiguo 07/07/2003, 21:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que al final .. te estás liando con el concepto de sesiones de PHP ..

En PHP las sesiones son "únicas" para el cliente que las incicia y sólo son válidas para el mismo y no "compartidas" como lo es el famosos global.asa de ASP ..

En PHP .. ese "global.asa" se suele hacer (si entendí bien yo ..) con un simple archivo donde guardas tus variables .. ese archivo lo llamas donde requieras de dichas variables que serán como "constantes" inciadas en el valor que definas en el momento que llames a tu archivo vía un include() de PHP para "incluir" dicho "código" como parte del código actual.

variables.php
Código PHP:
<?
$variable
="valor_inicial";
?>
y donde lo necesites .. lo llamas:

Código PHP:
<?
include("variables.php");

echo 
$variable;  // Llamo a una variable de dicho archivo ..
?>

Y si necestias unas "variables" tipo sesión pero que sean -compartidas- por todos los clientes que estén accediendo a tus scripts .. deberías usar un archivo de texto plano mínimo para guardar en algún .txt tus variables que van modificando los diferentes clietnes que acceden a el. Creo que esta última técnica (no soportada directamente por PHP pero si fácil de implementar) es lo que más se acercaría al "global.asa" ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 08/07/2003, 00:22
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Si, al final lo he hecho así por que no encontraba ninguna otra manera de hacerlo.

Muchas gracias por los esfuerzos

Saludos pá tos.
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 10:57.