Pergunta

Acabei de ler um artigo em algum lugar. Eles estão usando loja session_id o tempo de login e logout de todos os logged bem sucedido no usuário em uma tabela temporária. O que significa, a tabela seria eliminada assim que a sessão destruído. Então, por que eles estão criando as tabelas ??

Existe alguma utilização das tabelas temporárias? E por que deve utilizar session_id ??

Quais são os outros usos da session_id em login e logout tabela temporária ?? (Eu simplesmente não consigo descobri a conexão e uso do tempo session_id, login e sair em tabelas temporárias.)

Foi útil?

Solução

Em vez de usar uma segunda tabela por que não usar a tabela de usuários para armazenar esta informação?

tabela de usuários:

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

Agora, quando o usuário fizer logon na loja o seu ID em uma variável $ _SESSION e atualizar o timestamp login:

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

e, em seguida, quando ele fizer fora uso o mesmo comando de cima, mas em Logout

Outras dicas

"da tabela temporária é visível apenas para a conexão atual, e é descartado automaticamente quando a conexão é fechada." ( original)

mesas Então temporários definitivamente é um não-go. Eu vou votar para solução Cris'.

Eu aposto que eles estão usando a tabela temporária para armazenar informações de sessão (utilizando session_set_save_handler) e isso é bom: as informações da sessão muda muito rápido e, muitas vezes, as tabelas temporárias são perfeitos para tais soluções

e talvez você confundido temporária com a memória? tabelas de memória não são armazenados no seu disco rígido e os dados são perdidos na reinicialização, o que é factível para as informações da sessão

A sessão de identificação são muito userful reconhecer a se os usuários estão conectados ou não.

Apenas criar uma tabela de login com nome de usuário, sessão-id, recentaccesstime.

Sempre que o usuário solicita um novo cheque página se a sessões de ID e nome de usuário estão combinando ou não.

Se eles estavam combinando apenas atualizar o recentaccesstime.

Se o recentaccesstime é> 60 minutos você pode definir o usuário conectado fora do nosso site e apagar a sua entidade a partir da tabela de login.

www.addressinformer.com

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top