Login System mit PHP

Hi,

ich schriebe gerade ein Login System mit PHP und mysql. Soweit kein Problem. Doch eine Sache kriege ich einfasch nicht hin :

Ich will die Länge einer Session auf 20 Minuten begrenzen, falls der User eine Handlung macht, wieder auf 20 Minuten… etc.

In einer Usertabelle wird gespeichert, wann der Login, bzw. die letzt Handlung war, und zwar mit dem mysql Datentyp TIME. Also z.B 14:40:21 Uhr.

Ich will nun mit PHP die atuelle Zeit mit dieser aus der Datenbank vergeleichen. Leider finde ich keinen entsprechenden Datentyp in PHP ! Wer kann mir zeigen, wie ich das anstelle.
Am besten mit Beispielcode…

P.S. ich will keine Cookies verwenden. Und die Zeit sollte natürlich nur Serverseitig genommen werden !

Danke im voraus

Daniel

Also ich würde dass ja dann mit PHP Sessions machen …
aber um auf deine Frage zurückzukommen.

Du kannst in mysql z.b. machen

SELECT UNIX_TIMESTAMP(datumsfeld) AS datum …

dann noch die mysql-Funktion time() verwenden und Anhand der Differenz der Sekunden kriegste es raus…

Hallo,

Danke erst einmal für die schnelle Anrwort.

Meinst Du, daß das PHP Session Managment sinnvoller ist ? Das funktioniert doch erst ab PHP 4.0 oder ?

Wir hatten vor, die Seite bei Puretec zu hosten. Weißt Du zufällig, ob PHP Sessions dort funktionieren ?

Und kannst Du mir vieleicht auch noch einmal kurz das System erklären. Ich habe zwar ein PHP-Buch, doch leider ist es bei einer Umräumaktion verloren gegangen und bisher nicht wieder aufgetaucht…

Es wäre nett von Dir, wenn Du mir kurz das Prinzip und die Vorteile und eventuelle Schwierigkeiten kurz erläutern könntest.

Danke im voraus

Daniel

Danke erst einmal für die schnelle Anrwort.

Meinst Du, daß das PHP Session Managment sinnvoller ist ? Das
funktioniert doch erst ab PHP 4.0 oder ?

Ja, eingebaut is das erst seit PHP4. Es gibt aber eine PHPLIB http://www.phplib.de mit der müsste es auch mit PHP3 gehen, allerdings hab ich das damals nicht zum Laufen gekriegt :wink:

Wir hatten vor, die Seite bei Puretec zu hosten. Weißt Du
zufällig, ob PHP Sessions dort funktionieren ?

ne, keine Ahnung

Und kannst Du mir vieleicht auch noch einmal kurz das System
erklären. Ich habe zwar ein PHP-Buch, doch leider ist es bei
einer Umräumaktion verloren gegangen und bisher nicht wieder
aufgetaucht…
Es wäre nett von Dir, wenn Du mir kurz das Prinzip und die
Vorteile und eventuelle Schwierigkeiten kurz erläutern
könntest.

Auf dem Server werden die Daten zur Session gespeichert, die Sessión hat eine eindeutige Nummer und wird über Cookies oder als Parameter beim Seitenaufruf druchgeschleift so dass der User auf den Folgeseiten schon bekannt ist. In der Session kannst du Variablen registrieren, die dann auf den Folgeseiten abgerufen werden können oder verändert.

Nachteil bei PHP Sessions, du kannst dich nicht so ganz drauf verlassen, dass die Sessions auch austimen… es wird mit einer bestimmten Wahrscheinlichkeit bei jedem Aufruf mal gecheckt ob alte Sessions gelöscht werden müssen, hast du wenige Aufrufe ist die Session ewig gültig, setzt du die Wahrscheinlichkeit hoch hast du ein Performanceproblem, aber das is bei wenig Aufrufen dann auch egal.

habe selber Logins mit sessions realisiert. Du speicherst dann ob der User eingeloggt ist und fertig… vorbei die Zeiten in denen man Links dann mit Formularbuttons und versteckten Feldern realisieren musste.

Hi!

Ich würde Dir grundsätzlich dazu raten, Zeitangaben als Sekundenwerte („real Timestamps“) zu speichern und
für die Ausgabe in das beliebige Format mit date() zu
konvertieren. Ist wesentlich effektiver und Du benötigst
keine extra Felder in der DB, sondern kannst Integer bzw
Float oder auch Varachar als Datentypen hernehmen, welche viel bequemer zu handhaben sind!
(Ist eigentlich die Regel, so…)

Grüsse
Cromo