Domanda

Ho appena letto un articolo da qualche parte. Stanno usando negozio session_id il login e tempo di logout per ogni successo utente collegato in una tabella temporanea. Il che significa, la tabella verrebbe eliminata una volta che la sessione distrutto. Allora, perché stanno creando i tavoli ??

C'è un utilizzo delle tabelle temporanee? E perché deve usare session_id ??

Quali sono gli altri usi di session_id in Accesso e uscita tabella temporanea ?? (Ho appena cant capito il collegamento e l'utilizzo del session_id, di accesso e tempo di logout in tabelle temporanee.)

È stato utile?

Soluzione

Invece di usare una seconda tabella perché non utilizzare la tabella agli utenti di memorizzare queste informazioni?

Tavolo utenti:

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

Ora, quando l'utente accede in serbo il suo id in una variabile $ _SESSION e aggiornare il timestamp login:

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

e poi quando si disconnette l'uso lo stesso comando dall'alto, ma su Logout

Altri suggerimenti

"una tabella temporanea è visibile solo per la connessione corrente, e si interrompe automaticamente quando la connessione è chiusa." ( originale )

tabelle temporanee Quindi sicuramente è un no-go. Voterò per soluzione Cris'.

scommetto che stanno usando la tabella temporanea per memorizzare le informazioni di sessione (utilizzando session_set_save_handler) e questo è un bene: le informazioni di sessione cambia molto veloce e spesso, tabelle temporanee sono perfetti per tali soluzioni

e forse confuso temporanea con la memoria? tabelle di memoria non vengono memorizzati sul vostro hard disk ei dati vengono persi al riavvio, che è fattibile per le informazioni di sessione

ID di sessione di sono molto userful di riconoscere il fatto che gli utenti siano collegati o non collegati.

Basta creare un tavolo di login con nome utente, session-id, recentaccesstime.

Quando mai l'utente richiede una nuova verifica se la pagina di sessioni-id e nome utente sono corrispondenti o meno.

Se fossero corrispondenti a solo aggiornare il recentaccesstime.

Se il recentaccesstime è> 60 minuti è possibile impostare l'utente disconnesso del nostro sito e cancellare la sua entità dal tavolo di login.

www.addressinformer.com

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top