Frage

Ich habe gerade gelesen irgendwo einen Artikel. Sie sind mit Sitzungs_ID Speicher, um die Anmelde- und Abmeldezeit für jeden erfolgreichen angemeldeten Benutzer in einer temporären Tabelle. Was bedeutet, würde die Tabelle gelöscht werden, sobald die Sitzung zerstört. Also, warum schaffen sie die Tabellen ??

Gibt es eine Verwendung der temporären Tabellen? Und warum muss Sitzungs_ID verwenden ??

Was sind die anderen Verwendungen von session_id in An- und Abmelde temporäre Tabelle ?? (Ich dachte einfach nicht aus, die Verbindung und die Verwendung der Sitzungs_ID, Anmelde- und Abmeldezeit in temporären Tabellen.)

War es hilfreich?

Lösung

Statt eine zweite Tabelle mit, warum verwenden, um die Benutzer-Tabelle nicht diese Informationen zu speichern?

Benutzer Tabelle:

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

Nun, wenn sich der Benutzer anmeldet Laden seine ID in einem $ _SESSION Variable und aktualisieren Sie den Login-Zeitstempel:

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

und dann, wenn er meldet sich von oben Gebrauch den gleichen Befehl, sondern auf Logout

Andere Tipps

„Eine temporäre Tabelle ist nur sichtbar für die aktuelle Verbindung und wird automatisch gelöscht, wenn die Verbindung geschlossen wird.“ ( Original )

So temporäre Tabellen ist definitiv ein No-Go. Ich werde für Cris stimmen Lösung.

Ich wette sie die temporäre Tabelle verwenden Sitzungsinformationen zu speichern (mit session_set_save_handler) und das ist gut: Sitzungsinformationen sehr schnell ändern und oft, temporäre Tabellen sind perfekt für solche Lösungen

und vielleicht verwirren Sie mit Speicher vorübergehend? Speichertabellen werden nicht auf der Festplatte und Daten gespeichert werden beim Neustart verloren, die für die Sitzungsinformationen machbar ist

Session-IDs sind sehr userful das zu erkennen, ob die Benutzer angemeldet ist oder nicht.

Nur eine Login-Tabelle mit Benutzernamen, Session-ID, recentaccesstime erstellen.

Wann immer der Benutzer fordert eine neue Seite geprüft, ob die Sitzungen-ID und Benutzernamen passen oder nicht.

Wenn sie passend nur die recentaccesstime aktualisieren.

Wenn die recentaccesstime> 60 Minuten, die der Benutzer einstellen kann aus unserer Website angemeldet und seine Einheit aus der Login-Tabelle löschen.

www.addressinformer.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top