Pregunta

Acabo de leer un artículo en alguna parte. Están utilizando tienda session_id el login y tiempo de salida para cada usuario conectado con éxito en una tabla temporal. Lo que significa, la tabla podría ser borrado una vez destruida la sesión. Así que ¿por qué están creando las tablas ??

¿Hay algún uso de las tablas temporales? Y por qué debe usar session_id ??

¿Cuáles son los otros usos de session_id en conectarse y desconectarse tabla temporal ?? (I just cant cuenta de la conexión y el uso de la session_id, inicio de sesión y tiempo de salida en las tablas temporales.)

¿Fue útil?

Solución

En lugar de utilizar una segunda tabla por qué no usar la tabla de usuarios para almacenar esta información?

tabla Usuarios:

CREATE TABLE `Users` (
    `Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `Username` VARCHAR(32) NOT NULL,
    `Password` CHAR(32) NOT NULL,
    `Login` TIMESTAMP DEFAULT 0,
    `Logout` TIMESTAMP DEFAULT 0,
    PRIMARY KEY (`Id`),
    UNIQUE KEY (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1

Ahora, cuando el usuario entra en la tienda de su documento de identidad en una variable $ _SESSION y actualizar la marca de tiempo de inicio de sesión:

UPDATE `Users` SET `Login` = NOW() WHERE `Id` = id_stored_in_session;

y luego, cuando se desconecta el uso del mismo comando desde arriba, sino en Logout

Otros consejos

"una tabla temporal es visible sólo para la conexión actual, y se deja caer de forma automática cuando se cierra la conexión." ( originales )

Así tablas temporales sin duda es un no-go. Voy a votar para la solución de Cris'.

i apuesta que están usando la tabla temporal para almacenar la información de sesión (utilizando session_set_save_handler) y esto es bueno: información de la sesión cambia muy rápido y, a menudo, las tablas temporales son perfectos para este tipo de soluciones

Y tal vez confundido con la memoria temporal? tablas de memoria no se almacenan en su disco duro y los datos se pierden al reiniciar, lo que es factible para la información de la sesión

El identificador de sesión son muy Userful reconocer la de si los usuarios están conectados o no.

Hay que crear una tabla con nombre de usuario de inicio de sesión, session-id, recentaccesstime.

Cuando cada vez que el usuario solicita un nuevo cheque si la página sesiones-id y nombre de usuario son coincidentes o no.

Si fueran sólo acertar actualizar el recentaccesstime.

Si el recentaccesstime es> 60 minutos se puede configurar el usuario se desconectó de nuestro sitio y eliminar la entidad de la mesa de entrada.

www.addressinformer.com

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top