| |||
Tal vez será mejor explicarte lo que no entendistes o aclararte dudas si nos comentas que "entiendes tu sobre sesiones y variables de sesión" Por qué .. a lo mejor te repetimos las mismas frases que has leido y nunca comprendistes. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
ejem... totalmente cierto, fui demasieado escueto... Pues a ver... yo las variables de sesion las veo como variables que cuando navegas de una pagina a otra, el ordenador, o mejor dicho, la aplicacion por la que navegas, se sirva de ellas para tenerte identificado. ¿Ando muy alejado? que utilidad tienen, o pueden tener? |
| |||
Si, en su base es lo que significa. La sesión en sí es un "contenedor" de "varaibles" (de sesión) que se crea y gestina -en el servidor- (no como una cookie que sería en el "cliente=> PC usuario"). La útilidad que tienen por ejemplo la más usada es para sistemas de autentificación de usuarios; donde al ingresar tu usuario a tu aplicación y autentificarlo (contra tu Base de datos, sistema de archivos o variables simples donde almacenas su par: usuario/contraseña) .. creas una variable de sesión (en una sesión nueva que se crea automáticamente si no existía ninguna para ese cliente) donde guardas algún dato tipo "el nombre del usuario". Esto te servirá para que tu sistema (tu aplicación) sepa ante cada acción (bajo ese valor de esa variable) quien está "autentificado" en ese instante y usarlo para registro de acciones que pueda hacer en la aplicación. Esa sería la aplicación "estrella" donde más se usan las sesiones, pero .. las sesiones no quedan ahí solo (su uso). Imagina una série de N formularios que tienes que ir recolectando datos que van ingresando (el usuario) y .. al final del proceso del último formulario tienes que procesar esos datos para almacenarlos en una Base de datos por ejemplo. Bien .. entre el formulario 1 al 2 .. del 2 al 3 .. del N al N vas guardando tus variables en una sesión y al final del proceso del último formulario .. las tomas de la sesión para realizar el proceso que corresponda. Recuerda que en PHP las variables sólo tienen el ambito del script que las toma o procesa . .Nada más .. por eso en los momentos que necesites de unas variables "compartidas" (para ese usuario "sesión)" tienes que usarlas (o bien cookeis). Podrías "propagar" esas variables que requieras por el URL (en links . en campos hidden de formularios) .. Pero si usas sesiones realmente resulta "comodo" y sobre todo seguro ir usando sesiones para almacenar esos datos. Ejemplo de "seguridad" .. esas variables de sesión permanecen en el servidor .. así que no son alterables como lo podrían ser alguna variable que propagues en el URL (en un link por ejemplo). Otro ejemplo: El "carrito de compra" .. done navegas por tu sitio "añadiendo" variables a la sesión (serían tus identificadores de tus productos) y cuando le das a "comprar" lo que haces es leer esas variables de sesión para procesar tu pedido. A nivel de implementación de "sesiones" . Las sesiones son únicas para el cliente que las crea. Se les asigna un "SID" (identificador único de sesión) a cada sesión que se inicia (es único) y se usa el mismo siempre y cuando este SID llege propagado al script que necesite accder/crear alguna variable de sesión para esa sesión activa. La "propagación" del SID puede ser por el URL (manual o automático por parte de PHP), o por cookies siendo más segura hacerlo por cookies (sólo la propagación del SID .. los datos siguen estando en el servidor y es grácias a ese SID que se mantiene la relación con el "archivo" físico que se crea en el servidor que sirve de "contenedor" a esas variables. Si se tel olvida o hay problemas en la propagación del SID .. la sesión se pierde (la que estabas usando) y se crea una nueva .. así que los datos "fisicos" estarían bajo otro SID .. Este suele ser el principal problema a la hora de implementar un sistema que use sesiones: no se suele prestar atención al tema IMPORTANTISIMO de propagación del SID y .. luego llegan los problemas. El tiempo que dura una "sesión" se configura normalmente desde configuración de PHP (por php.ini y alterable con ini_set() en muchos casos u otros médios). Por eso es importante saber que directivas de configuración intervienen en la forma o comportamiento de las sesiones para comprende cosas como "me dura la sesión una sóla página .. " o "no tienen valor mis variables de sesión" .. o "paso con un link a otra página y me funcionan las sesiones .. pero hago un redireccionamiento por javascript o un window.open o un header("location" .. ) etc y se me pierden las variables de la sesión". Todo esto (y mucho más) siempre suele ser el mismo problema: propagación del SID. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
![]() Hola: Aprovecho esta conversación para hacer una pregunta. Se trata de saber si puede definir una variable y registrarla para la sesión en una página que establece conexión con base de datos, pero que no solicita las variables que quiero registrar para la sesión. Dicho con un ejemplo sería, la ´lásica validaci´n en que se selecciona de la tabla de la BD en usuario y la contraseña, para procesarlas y dar acceso o no. Pués bien lo que me gustaría saber es si en esta página puedo definir y registrar otras variales y usarlas en otras páginas tomando su valor en la conexión de estas otras páginas. Con elo pretendo que todas las variables que vaya a usar las pueda registrar de entrada en la primera página. gracias por vustras opiniones |
| |||
Como mencionaba más arriba . .una "sesión" es un simple "contenedor" de variables .. así que puedes crear cualquier tipo de variable en la sesión. Pueden ser variables nomales .. o arrays (y hasta objetos pero serializados: ahí pierdes los métodos ...) Ejemplo: Código PHP: Código PHP: algo tipo: <? session_start(); $conexion=mysql_conncet(....); ?> // y hacer $_SESSION['conexion']=$conexión; ?> O por lo menos no lo he probado y no he visto trabajar así un "link" de conexión bajo una sesión (si lo prueban.. avisan de los resultados). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. Última edición por Cluster; 18/05/2004 a las 11:50 |