php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2008, 18:34  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Weise uns den Weg
David ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.12.2008, 10:33  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Nun ich mache das so.

Anstatt die session_id rein zu schreiben habe ich ein Feld online,was nur den Zustand 0 oder 1 annehmen kann. 0 = nicht eingeloggt, 1 = eingeloggt.

Beim erfolgreichen Login wird das Feld auf eins gesetzt und somit gilt der User als eingeloggt zusätzlich wird noch die Zeit beim login in die Datenbank geschrieben. In die Session schreibe ich die User id rein (anhand derer wird immer ein das Update gemacht und de rvergleich bzw. die Kontrolle gemacht) und einen Zeitstempel. Bei jedem Seitenaufruf (die Seiten die der User besuchen darf) wir die Zeit verglichen und ein Update gemacht. Wenn der Unterschied dann bei 6 min angelangt ist gilt er als inaktiv,nach 20 min nichts tun wird er authomatisch ausgeloggt. Einziges Problem ist aber nur wenn der Browser ohne Logout geschlossen wird,das hast aber auch wenn die session_id in der DB steht.

So mache ich das und es funktioniert.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 28.12.2008, 10:58  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Und wo ist dann jetzt der substantielle Unterschied?
Ob da nun die user_id oder die session_id drin steht, ist doch vom Prinzip her Jacke wie Hose.
David ist offline  
Alt 28.12.2008, 12:17  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Nunja ich hatt hier im Forum mal in einem Thema gelesen das,diese das auch mal gemacht haben die session_id in die DB geschrieben und es bei großen Andrang Probleme gab. Darum hatte ich das geändert. Glaube Flo1an hatte das damals geschrieben,ich weis aber nicht mehr in welchen Thema das war.

Nunja einen Unterschied macht es schon,wenn das DB-Design schlecht gemacht ist. Weil die id des Users ein eindeutiger Wert ist,der authomatisch als Index behandelt wird,schreibt man die session_id rein,dann sollte man,denke ich das Feld wenigstens mit einem FULLTEXT versehen. Ist Resourcen schonender würde ich behaupten.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 28.12.2008, 12:30  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Weil die id des Users ein eindeutiger Wert ist,der authomatisch als Index behandelt wird
Nein, automatisch als Index wird das nicht benutzt. Das musst Du bei der Tabellendefinition genauso angeben, wie Du das bei session_id auch der Fall ist. Und eindeutig muss die session_id auch sein, sonst funktioniert Dein ganzes Session-Management nicht.
FULLTEXT ist sicher einiges, aber nicht resourcen-schonend. Brauchst Du hier auch nicht.
Übrig bleibt dann nur noch, dass user_id vermutlich eine Zahl und session_id vermutlich eine Zeichenkette beim Vergleich ist. Mag einen Unterschied machen, aber keinen substantiellen.
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql LoginScriptzu MySqli LoginScript lithium PHP Tipps 2008 27 17.11.2008 19:48
Login System matii PHP Tipps 2008 6 16.04.2008 11:35
Login System Probleme ! 7Style PHP Tipps 2008 2 07.01.2008 13:55
Problem mit meinem Login System DJ Nuno PHP Tipps 2008 9 16.10.2007 16:44
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Sicheres Login System? PHP Tipps 2006 11 14.03.2006 15:05
[Erledigt] PEAR AUTH_HTTP . login ist klar ? aber wie geht logout ? PHP-Fortgeschrittene 2 24.11.2005 09:37
Login System für die eigene HP? Datenbanken 1 05.10.2005 19:48
[Erledigt] Login klappt nicht korrekt PHP-Fortgeschrittene 11 22.07.2005 22:49
[Erledigt] Login, LogIn, Anmelden, Einloggen -> ??? Off-Topic Diskussionen 20 14.07.2005 11:01
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
[Erledigt] htaccess Login / Logout PHP Tipps 2004 3 13.08.2004 15:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php timer logout

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum