php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2005, 21:33  
Gast
 
Beiträge: n/a
Standard [Erledigt] Prob mit SESSIONS

Hallo Leutz

ich weiß net ob das ins fortgeschrittenen forum gehört, verschiebts bitte liebe admins falls ich mich geirrt habe.

Also ich hab mit SESSIONS ein login-System genacht, dass auch wunderbar funktioniert, nur wollte ich fragen, ob es möglich ist, zu überprüfen, wie viele sessions aktuell vorhanden sind.
Mann könnte ja die Session-ID + User in ne mysql-tabelle schreiben und dann bei jedem aufruf per mysql_num_rows() die anzahl überprüfen und dann auch überprüfen, welcher user gerade eingeloggt ist. Nur das Problem: Loggt sich jemand net per script ausloggt, sondern einfach das browserfenster schliesst wird die session doch nicht gelöscht sondern läuft noch ein paar minuten weiter und wird dann vom interpreter gelöscht, oder? Ist es irgendwie möglich, dass das sozusagen 'in echtzeit' geschieht' und das ohne root-rechte auf dem server? Das wäre ja scheisse wenn der User als online angezeigt wird und mann ihm ne pm schickt und sich dann wundert warum derjenige net antwortet.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.07.2005, 21:39  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://tut.php-q.net/online.html - einfach die IP-adresse gegen SESSION-ID austauschen - damit sollte dein problem gelöst sein.
axo ist offline   Mit Zitat antworten
Alt 26.07.2005, 21:58  
Gast
 
Beiträge: n/a
Standard

ok danke sowas hatte ich auch schon im sinn, naja bei der ganzen geschichte oben hab ich vergessen, dass die datensätze ja bei ner nicht benutzten, von php gelöschten session, nicht gelöscht werden uns so 'tote user' auf ewigkeit entstehen.
  Mit Zitat antworten
Alt 26.07.2005, 22:50  
Gast
 
Beiträge: n/a
Standard

Es geht noch einfacher mit session_set_save_handler()

In den Userkommentaren gibt es entscheidende Tips, wie man einen SQL-basierten Handler schreiben kann. Und damit schlägt man sehr viele Fliegen mit einer Klappe.
  Mit Zitat antworten
Alt 29.07.2005, 09:58  
Gast
 
Beiträge: n/a
Standard

1) Die Zeit die eine SESSION-Periode gültig ist wird durch die php.ini bestimmt

2) Warum sollte ein (manueller) Eintrag automatisch gelöscht werden? Damit will ich fragen, warum soll dein Eintrag in der MySQL Datenbank automatisch gelöscht werden. Du verwechselst vielleicht das PRUNING der SESSION-IDs vom Server hier mit deiner manuellen Tätigkeit. Soll heissen, wenn du etwas schreibst und es gelöscht haben willst dann musst du diese auch wieder (manuell) löschen. Als kleine Hilfe: Überprüfe die Gültigkeit der SESSION, also in deine Datenbank rein a) die SESSION und b) die Gültigkeit und beim Auslesen überprüfen ob die SESSION noch/überhaupt gültig ist.

Ok?
  Mit Zitat antworten
Alt 29.07.2005, 14:36  
Gast
 
Beiträge: n/a
Standard

So hab ich des au net gemeint: Wenn eine SESSON-ID eingefügt wird in die db, dann wird sie ja nicht mehr gelöscht, ohne dass ich hwas mache(zb die gültigkeit überprüfen und dann bei 5min inaktivität löschen)

Auf dem Server kann ich die php.ini leider nicht ändern, aber was istn da der default-wert?
  Mit Zitat antworten
Alt 29.07.2005, 16:48  
Gast
 
Beiträge: n/a
Standard

Zitat:
aber was istn da der default-wert?
Was gültig ist, steht im phpinfo.
  Mit Zitat antworten
Alt 29.07.2005, 19:23  
Gast
 
Beiträge: n/a
Standard

Ja schon, aber da hab ich ja keinen Zugriff drauf, ich mein wie is der Wert standardmäßig, direkt nach dem runterladen von PHP?
  Mit Zitat antworten
Alt 29.07.2005, 19:40  
Gast
 
Beiträge: n/a
Standard

Hallo! Woher soll ich wissen, mit welchen defaults Dein Provider Deinen Account bedacht hat? Guck ins phpinfo! ICH KANN NICHT HELLSEHEN!
  Mit Zitat antworten
Alt 29.07.2005, 19:59  
Gast
 
Beiträge: n/a
Standard

meikel, er ist klein und jung und hat von dem Wort phpinfo keine Ahnung. gib doch einfach den code dafür, den wirst wohl auch du drauf haben, oder irre ich?

Hier isser, mach Datei auf Server mit Inhalt (einfach kopieren):
PHP-Code:
<?php
phpinfo
();
?>
Und dann diese Datei aufrufen.


Zitat:
Zitat von floh
So hab ich des au net gemeint: Wenn eine SESSON-ID eingefügt wird in die db, dann wird sie ja nicht mehr gelöscht, ohne dass ich hwas mache(zb die gültigkeit überprüfen und dann bei 5min inaktivität löschen)

Auf dem Server kann ich die php.ini leider nicht ändern, aber was istn da der default-wert?
Nun, ich hab schon verstanden das du befürchtest das ein User den Browser schliesst und sich dabei nicht ausloggt. Deshalb auch einen Zeitwert parallel ablegen und überprüfen.

Das "Ausloggen" könntest du erzwingen wenn du mit JavaScript arbeitest, sprich mit einem "OnUnLoad" im HTML-BODY ( http://de.selfhtml.org/navigation/su...nfrage=offload ) eine Seite öffnen die das Ausloggen ausführt.

Sicherlich wäre das eine relativ unsichere Variante, da der eine oder andere
a) JavaScript und/oder ActiveScripting nicht erlaubt
Allerdings kannst du dagegen schon von Anfang an darauf aufmerksam machen dass bitte JavaScript für das eine oder andere benötigt wird, oder vielleicht das Einloggen schon nur mit JavaScript möglich ist.

Nun aber zurück zu Datenbank. Dort legst du also
a) die SESSION-ID
und
b) den timestamp ( http://de.php.net/time )
ab, damit du "aktuell" sehen kannst welche Sessions "aktiv" sind. Dazu hast du vorher in die php.ini (oben der phpinfo-Code) geschaut um zu gucken wie lange eine Session ist.

Und wenn das "JETZT" minus "SessionZeitLänge" grösser b) abgespeicherter "timestamp" ist, dann ist die Session nicht mehr aktiv.

Alles klar?
  Mit Zitat antworten
Antwort


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
2 Sessions Kein Genie PHP Tipps 2006 8 21.07.2006 15:45
Session's zählen... StartUpBoy PHP Tipps 2007 7 13.12.2005 23:35
Komisches Problem mit sessions FBI PHP Tipps 2007 5 22.11.2005 14:15
[Erledigt] probleme mit sessions PHP Tipps 2007 1 17.11.2005 10:43
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Sessions! DER_Brain PHP Tipps 2005-2 5 30.06.2005 14:51
2 Sessions? PHP Tipps 2005 5 29.04.2005 19:04
Proble mit Sessions PHP Tipps 2005 7 07.02.2005 17:42
Probleme mit Sessions PHP Tipps 2005 2 23.01.2005 12:30
[Erledigt] Umstieg von Xampp auf Einzelkomponenten: Sessions aktivieren PHP-Fortgeschrittene 1 19.01.2005 11:26
[Erledigt] sessions aus dateisicht PHP-Fortgeschrittene 6 12.10.2004 13:59
Sessions auf Apache2 gehen nicht! Server, Hosting und Workstations 1 27.09.2004 17:39
kleine Prob ,it sessions... 18inch PHP Tipps 2004 1 04.09.2004 14:40
[Erledigt] Usermanagement mit Sessions - Sicherheitsprobleme ? PHP Tipps 2004 0 30.06.2004 09:49
Sessions, sessions und nochmal sessions PHP-Fortgeschrittene 0 06.06.2004 00:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session über mehrere ip adressen gültig, php session wird nicht gelöscht selfhtml, php session aktiv prüfen, session ip nummer kann nicht auf die seite drauf, session wird automatisch gelöscht

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:03 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.