Automatisches Logout
tomgk
- sonstiges
Hallo,
Ich habe eine Seite gamacht wo man sich registrieren kann.
Jetzt möchte ich das eine Login Seite machen, aber: Wie soll ich speichern ob jamand online ist?
MySQL, eine Text-Datei?
Weiterse möchte ich das der User nach einen bestimmten Zeitraum automatisch ausgeloggt wird. Nur wie kann man das machen? Hab keine Idee...
MfG
tomgk
Hi,
Jetzt möchte ich das eine Login Seite machen, aber: Wie soll ich speichern ob jamand online ist?
gar nicht. Nachdem Dein Server eine Ressource ausgeliefert hat (und eigentlich schon während dessen er es vorbereitet) existiert kein Weg mehr herauszufinden, ob die Anfordernde Stelle noch mit dem Internet verbunden ist.
Weiterse möchte ich das der User nach einen bestimmten Zeitraum automatisch ausgeloggt wird. Nur wie kann man das machen? Hab keine Idee...
Die meisten komplexen serverseitigen Systeme bieten Session-Mechanismen an, die eine solche Funktionalität von Haus aus mit sich bringen.
Cheatah
Hallo,
Jetzt möchte ich das eine Login Seite machen, aber: Wie soll ich speichern ob jamand online ist?
gar nicht. Nachdem Dein Server eine Ressource ausgeliefert hat (und eigentlich schon während dessen er es vorbereitet) existiert kein Weg mehr herauszufinden, ob die Anfordernde Stelle noch mit dem Internet verbunden ist.
Nein, das meine ich nicht.
Ich meine wenn jemand sich bei der Login-Seite einloggt wo speichern das er sich eingeloggt hat?
MfG
tomgk
Hi,
Ich meine wenn jemand sich bei der Login-Seite einloggt wo speichern das er sich eingeloggt hat?
In der Session.
MfG ChrisB
Hi!
Jetzt möchte ich das eine Login Seite machen, aber: Wie soll ich speichern ob jamand online ist?
gar nicht. Nachdem Dein Server eine Ressource ausgeliefert hat (und eigentlich schon während dessen er es vorbereitet) existiert kein Weg mehr herauszufinden, ob die Anfordernde Stelle noch mit dem Internet verbunden ist.
Nein, das meine ich nicht.
Ich meine wenn jemand sich bei der Login-Seite einloggt wo speichern das er sich eingeloggt hat?
Mit der serverseitigen Sprache Deiner Wahl in einer Session - was benutzt Du denn?
off:PP
Hallo,
Jetzt möchte ich das eine Login Seite machen, aber: Wie soll ich speichern ob jamand online ist?
gar nicht. Nachdem Dein Server eine Ressource ausgeliefert hat (und eigentlich schon während dessen er es vorbereitet) existiert kein Weg mehr herauszufinden, ob die Anfordernde Stelle noch mit dem Internet verbunden ist.
Nein, das meine ich nicht.
Ich meine wenn jemand sich bei der Login-Seite einloggt wo speichern das er sich eingeloggt hat?Mit der serverseitigen Sprache Deiner Wahl in einer Session - was benutzt Du denn?
xampp
Mit der serverseitigen Sprache Deiner Wahl in einer Session - was benutzt Du denn?
xampp
Das ist keine serverseitige Sprache sondern eine Sammlung an Serversoftware.
Mit der serverseitigen Sprache Deiner Wahl in einer Session - was benutzt Du denn?
xamppDas ist keine serverseitige Sprache sondern eine Sammlung an Serversoftware.
Meinst wie php?
Meinst wie php?
Nein, PHP ist keine Sammlung an Serversoftware.
@@Mega:
Nein, PHP ist keine Sammlung an Serversoftware.
Sondern eine Sammlung an Funktionen. Als Sprache kann man das nicht bezeichnen. ;-)
Live long and prosper,
Gunnar
Hallo,
Wie funktioniert dises session?
Kann man es für mein Login-Problem nützen?
MfG
tomgk
Hi!
Wie funktioniert dises session?
Allgemeine Frage: kennst http?
Welche Sprache (serverseitig) magst7kannst Du verwenden.
Kann man es für mein Login-Problem nützen?
Ja.
off:PP
Hi Ingrid!
Allgemeine Frage: kennst http?
Als Nicht-Bayer muss ich zugeben, hier ein 'Du' vergessen zu haben :((
off:PP
Hallo,
Wie funktioniert dises session?
Allgemeine Frage: kennst http?
Welche Sprache (serverseitig) magst7kannst Du verwenden.
Wenns geht PHP
Kann man es für mein Login-Problem nützen?
Ja.
MfG
tomgk
Hi!
Wie funktioniert dises session?
Allgemeine Frage: kennst http?
Server
Welche Sprache (serverseitig) magst7kannst Du verwenden.
Welche sin möglich
Kann man es für mein Login-Problem nützen?
Ja.
In wiefern?
MfG
tomgk
Hi!
Nein, PHP ist keine Sammlung an Serversoftware.
Sondern eine Sammlung an Funktionen. Als Sprache kann man das nicht bezeichnen. ;-)
Ich habe nun zum vierten mal meine Antwort auf Dein Posting gelöscht und mich dazu entschlossen, es einfach zu ignorieren;)
off:PP
Sondern eine Sammlung an Funktionen. Als Sprache kann man das nicht bezeichnen. ;-)
Ja, und das trifft auf jede Programmiersprache zu. Und wie soll diese sinnfreie Aussage nun dem OP helfen?
Und wenn PHP keine Programmiersprache ist, sind alle PHP-Programmierer eh blöd, also unter deiner würde, oder?
Hello,
Ich meine wenn jemand sich bei der Login-Seite einloggt wo speichern das er sich eingeloggt hat?
Das kommt darauf an, ob Du ein sessionbasiertes "Login" bauen willst oder ein requestbasiertes.
siehe auch http://forum.de.selfhtml.org/archiv/2008/4/t170126/#m1111727
Ich vertrete die Meinuung, dass der "Login-Status" in der Sessiondatei nichts zu suchen hat, sondern in die Datenbank gehört. Dort kann man ihn ersten immer keicht abfragen und zweitens auch administrativ verändern.
Es ist leicher, ein Select oder Update auf die Datenbank abzufeuern, als hunderte von Sessiondateien zu durchforsten, ob sie denn zufällig dem User gehören, den man rausschmeißen will.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hello,
Aloha 'oe,
Ich vertrete die Meinuung, dass der "Login-Status" in der Sessiondatei nichts zu suchen hat, sondern in die Datenbank gehört. Dort kann man ihn ersten immer keicht abfragen und zweitens auch administrativ verändern.
Aber dafür wurde der Session-Mechanismus erfunden. Leicht abfragen kann man den Status auch dort, "administrativ verändern" kann die jeweilige bevorzugte Skriptsprache es auch.
Es ist leicher, ein Select oder Update auf die Datenbank abzufeuern, als hunderte von Sessiondateien zu durchforsten, ob sie denn zufällig dem User gehören, den man rausschmeißen will.
In einer zugewiesenen Session hat man (sollte man) nur Zugriff auf die Sessionvariablen des jewiligen zugeordneten Benutzers (haben). Außerdem frage ich mich, wann man in die Situation kommt, "hunderte von Sessiondateien" durchforsten zu wollen. Was hat die Aussage für einen Sinn? Zumindest ich verstehe nicht, auf welche Programmsituation du anspielen willst.
Sessionbasierte Daten sollten in einem (Überraschung!) Session-Mechanismus gespeichert werden, nicht in einer Datenbank.
Gruß, Volker
Hello,
Du scheinst Du das System dahinter noch nicht verstanden zu haben.
Ich warte aber erstmal, ob sich noch jemand zu Wort meldet zum Thema.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Du scheinst Du das System dahinter noch nicht verstanden zu haben.
Ich warte aber erstmal, ob sich noch jemand zu Wort meldet zum Thema.
Ihr habt eigentlich beide recht: der Session-Mechanismus speichert Sitzung und Benutzerkennung in einer Datenstruktur (in der Regel ein Hash oder Dictionary), die mit der in einer SQL-fähigen Datenbank gespeicherten Struktur durchaus vergleichbar ist.
Grundsätzlich gibt es verschiedene Möglichkeiten, die Sitzung zu vergeben: als GET-Parameter, als Cookie oder aber auch IP-basiert, wobei aus Sicherheitsgründen (mehrere PCs von der gleichen Router-IP sind inzwischen wohl eher die Regel als die Ausnahme) von der letzten Variante abzusehen ist.
Gruß, LX
Du scheinst Du das System dahinter noch nicht verstanden zu haben.
Ich warte aber erstmal, ob sich noch jemand zu Wort meldet zum Thema.Ihr habt eigentlich beide recht: der Session-Mechanismus speichert Sitzung und Benutzerkennung in einer Datenstruktur (in der Regel ein Hash oder Dictionary), die mit der in einer SQL-fähigen Datenbank gespeicherten Struktur durchaus vergleichbar ist.
Grundsätzlich gibt es verschiedene Möglichkeiten, die Sitzung zu vergeben: als GET-Parameter, als Cookie oder aber auch IP-basiert, wobei aus Sicherheitsgründen (mehrere PCs von der gleichen Router-IP sind inzwischen wohl eher die Regel als die Ausnahme) von der letzten Variante abzusehen ist.
Gruß, LX
Könnte mir jemand helfen?
MfG
tomgk
Hello,
Könnte mir jemand helfen?
Bitte wiederhole nicht immer das gesamte Vorgängerposting, sondern nur die relevanten Teile.
Hast Du Dir das Kapitel http://www.php.net/manual/en/book.session.php schon durchgelesen?
Das solltest Du tun und einige Versuche anstellen. Dazu hast Du dann bestimmt konkrete Fragen, die dir hier gerne beantwortet werden.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hello,
Könnte mir jemand helfen?
Bitte wiederhole nicht immer das gesamte Vorgängerposting, sondern nur die relevanten Teile.
Hast Du Dir das Kapitel http://www.php.net/manual/en/book.session.php schon durchgelesen?
Das solltest Du tun und einige Versuche anstellen. Dazu hast Du dann bestimmt konkrete Fragen, die dir hier gerne beantwortet werden.
Ich kann leider noch nicht sehr gut Englisch.
MfG
tomgk
Hello,
Hast Du Dir das Kapitel http://www.php.net/manual/en/book.session.php schon durchgelesen?
Das solltest Du tun und einige Versuche anstellen. Dazu hast Du dann bestimmt konkrete Fragen, die dir hier gerne beantwortet werden.Ich kann leider noch nicht sehr gut Englisch.
Dafür gibt es z.B. http://dict.tu-chemnitz.de/ = Beolingus.de. Das ist inzwischen sehr gut. Außerdem kannst Du mitarbiten, um es immer besser zu machen. Frank Richter und sein Team freuen sich über jede gute Idee.
Und außerdem kannst Du die Seite auch weitgehend auf Deutsch lesen http://www.php.net/manual/de/ref.session.php. Leider haben die deutschen Übersetzungen oft noch Lücken, sind nicht aktuell oder enthlaten gelegentlich sogar Überstzugnsfehler, die dann in die Irre führen können. Daher haben die meisten Stammposter hier im Forum beschlossen, immer die englische Version zu verlinken. Man kann ja selber umschalten.
Um mit Sessions zu spielen, solltest Du Dir als erstes mal ein einfaches Affenformular bauen. Das ist eine PHP-ressource, die ein HTML-Formular ausgibt und beim Post dann wieder auf sich verweist
<form name="myform" action="<? echo $_SERVER['SCRIPT_NAME']; ?>"
method="post" enctype="multipart/form-data">
<!-- hier veschiedene Input-Elemente einbauen, inclusive file-Uload -->
<input type="submit" name="btn[save]" value="speichern" />
<input type="submit" name="btn[show]" value="bisher gespeicherte Daten ansehen" />
</form>
Wenn Du das fertig hast, mach Dir mal Gedanken, wie Du von Durchlauf zu Durchlauf immer weitere Daten hinzufügen kannst.
Die müssen irgendwo gespeichert werden.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hi,
Ich kann leider noch nicht sehr gut Englisch.
der Satz "Bitte wiederhole nicht immer das gesamte Vorgängerposting ..." war aber in leicht verständlichem Deutsch formuliert, das man sogar mit 14 schon kapieren müsste. Was hast du daran nicht verstanden?
Also befleißige dich bitte eines anständigen Zitierstils.
Ciao,
Martin
Hello,
Ihr habt eigentlich beide recht: der Session-Mechanismus speichert Sitzung und Benutzerkennung in einer Datenstruktur (in der Regel ein Hash oder Dictionary), die mit der in einer SQL-fähigen Datenbank gespeicherten Struktur durchaus vergleichbar ist.
Die Existenz einer Sessiondatei hat überhaupt nichts mit dem Status der Session und den Rechten des Users zu tun. Die Rechte sollten requestbasiert verwaltet werden, also bei jedem Request aktuell abgefragt werden.
Es wird hier ein zustandsloses Protokoll mittels einer Session künstlich mit einem Zustand behaftet. das bedeutet aber nicht, dass alle Zustandsdaten in die Sessiondatei (sessionbasiert) gehören würden.
Auch sollte der "Loginzustand" nicht von der physischen Existenz einer Sessiondatei abhängig gemacht werden, in der Weise, dass das "Logout" durch Löschen dieser Datei durchgeführt wird.
Es gibt genügend Anwendungsfälle, bei denen ein User seine Trägersession fortsetzen will, aber dies unter einem andern Status tun will, sich also "ummelden" will.
Und wenn Volker sich nicht vorstellen kann, wie es auf dem System zu hunderten von (aktiven) Sessiondateien kommen kann, dann müssen wir bei Adam & Eva wieder anfangen.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
echo $begrüßung;
Ich vertrete die Meinuung, dass der "Login-Status" in der Sessiondatei nichts zu suchen hat, sondern in die Datenbank gehört. Dort kann man ihn ersten immer keicht abfragen und zweitens auch administrativ verändern.
Aber dafür wurde der Session-Mechanismus erfunden. Leicht abfragen kann man den Status auch dort, "administrativ verändern" kann die jeweilige bevorzugte Skriptsprache es auch.
Da du als Administrator nicht weißt, welche Session-ID der Benutzer X grad hat ist eine administrative Änderung nicht so einfach möglich.
Es ist leicher, ein Select oder Update auf die Datenbank abzufeuern, als hunderte von Sessiondateien zu durchforsten, ob sie denn zufällig dem User gehören, den man rausschmeißen will.
In einer zugewiesenen Session hat man (sollte man) nur Zugriff auf die Sessionvariablen des jewiligen zugeordneten Benutzers (haben). Außerdem frage ich mich, wann man in die Situation kommt, "hunderte von Sessiondateien" durchforsten zu wollen.
Hast du eine bessere Idee, wie man als Administrator sonst die Session-Datei des Anwenders X finden kann, um darin dessen "Eingeloggt"-Zustand zu ändern?
Sessionbasierte Daten sollten in einem (Überraschung!) Session-Mechanismus gespeichert werden, nicht in einer Datenbank.
So manch ein Session-Mechanismus (Überraschung!) verwaltet seine Session-Daten in einer Datenbank. Auch PHP kann das mit einem selbst geschriebenen Session-Handler.
echo "$verabschiedung $name";
Hi!
Sessions, waere hier eines von vielen Zauberwoertern.
Ich habe eine Seite gamacht wo man sich registrieren kann.
Ich hab dir schon mal gesagt, deine Fragen sind unterirdisch. Und das hier ist thematisch genau das gleiche wie in deinem Login Thread, also ein Doppelposting.
Struppi.