Supportnet / Forum / Skripte(PHP,ASP,Perl...)
PHP + Cookies
Frage
hi, ich hab mal ne frage zu cookies.
auf meiner website wird es einen login-bereich geben... das heißt user können sich einloggen und auf verschiedenen seiten kommentare u.s.w. abgeben.
wie kann ich nun mittels cookies realisieren das der user sich nicht auf jeder seite (kommentare, forum) wieder neu einloggen muss ?
wie kann ich per php so ein cookie erstellen/auslesen =?
Antwort 1 von MichA
hallo
ich würde von der verwendung von cookies abraten, denn nicht jeder nimmt cookies an.
ich würde, wenn sich einer eingeloggt hat speichere das in einer datenbank tabelle. jede seite die aufgerufen werden soll wird dann der nick mit ein pseudo-passwort, was aber auch in der datenbanktabelle steht, übergeben.
die seite überprüft dann halt an hand der gespeicherten daten in der datenbank ob er eingeloggt ist.
wenn ja kann er schreiben oder lesen oder was auch immer.
wenn nein kann er die seite halt nicht ansehen, oder er wird zur logginseite umgeleitet.
um den user aus der tabelle wieder zu löschen loggt sich der user halt aus. oder er wird nach einer bestimmten zeit, wo die daten nicht abgefragt werden, aus der liste gelöscht und ist somit auch ausgeloggt.
das würde ich dir empfehlen, denn so hast du auch kontrolle darüber wieviele user eingeloggt sind.
gruss micha.
ps.: cookies würde ich verwenden, damit die user sich nicht bei jeden seitenbesuch einloggen müssen. den da kann der user entscheiden ob er ein cookie annimmt oder nicht.
ich würde von der verwendung von cookies abraten, denn nicht jeder nimmt cookies an.
ich würde, wenn sich einer eingeloggt hat speichere das in einer datenbank tabelle. jede seite die aufgerufen werden soll wird dann der nick mit ein pseudo-passwort, was aber auch in der datenbanktabelle steht, übergeben.
die seite überprüft dann halt an hand der gespeicherten daten in der datenbank ob er eingeloggt ist.
wenn ja kann er schreiben oder lesen oder was auch immer.
wenn nein kann er die seite halt nicht ansehen, oder er wird zur logginseite umgeleitet.
um den user aus der tabelle wieder zu löschen loggt sich der user halt aus. oder er wird nach einer bestimmten zeit, wo die daten nicht abgefragt werden, aus der liste gelöscht und ist somit auch ausgeloggt.
das würde ich dir empfehlen, denn so hast du auch kontrolle darüber wieviele user eingeloggt sind.
gruss micha.
ps.: cookies würde ich verwenden, damit die user sich nicht bei jeden seitenbesuch einloggen müssen. den da kann der user entscheiden ob er ein cookie annimmt oder nicht.
Antwort 2 von draack
Hi!
Schau mal unter:
http://www.php.net/manual/de/ref.session.php nach - das sollte sein, was Du suchst.
Viel Erfolg!
Volker.
Schau mal unter:
http://www.php.net/manual/de/ref.session.php nach - das sollte sein, was Du suchst.
Viel Erfolg!
Volker.
Antwort 3 von rampan
hm...
ich kenne mich mit sql nicht sonderlich aus.
geht das auch mit textdateien?
kann mir das irgendjemand näher erklären? :(
ich kenne mich mit sql nicht sonderlich aus.
geht das auch mit textdateien?
kann mir das irgendjemand näher erklären? :(
Antwort 4 von royalsolo
Wenn Du nicht mal die Anleitungen checken willst, solltest Du ernsthaft überlegen, deine Seiten erstmal ohne Login zu machen.
Es geht übrigens ohne cookies, indem du un + pw mit der url übergibst.
guck mal bei www.hotscripts.com unter php und user, du vogel...
Es geht übrigens ohne cookies, indem du un + pw mit der url übergibst.
guck mal bei www.hotscripts.com unter php und user, du vogel...
Antwort 5 von rampan
hi,
ich werde das wohl doch mit sql machen.
meine überlegung war:
ich mache ne tabelle wo alle user mit PW u.s.w. gespeichert sind.
da drin gibts auch ne variable die anzeigt ob der user eingeloggt ist, oder nicht.
wenn sich der user ausloggt wird die variable auf 0 gesetzt.
was aber, wenn der user die website einfach schliesst, wie krieg ich die variable nach einer gewissen zeit automatisch (timeout) auf 0 ?
ich werde das wohl doch mit sql machen.
meine überlegung war:
ich mache ne tabelle wo alle user mit PW u.s.w. gespeichert sind.
da drin gibts auch ne variable die anzeigt ob der user eingeloggt ist, oder nicht.
wenn sich der user ausloggt wird die variable auf 0 gesetzt.
was aber, wenn der user die website einfach schliesst, wie krieg ich die variable nach einer gewissen zeit automatisch (timeout) auf 0 ?
Antwort 6 von MichA
??????????????
In einer tabelle einer datenbank gibt es variablen? das ist ja toll. es gibt da höhstens werte die in einem feld der tabelle stehen.
Wenn du je mit einer datenbank arbeiten willst must du wegkommen von dein blöden denken an variablen. in einer datenbank kann man nicht einfach ein feld ein wert zu weisen wie einer variable. ist schon ein bisschen anders.
und mit den ?timeout? schau einfach auf das zweite posting.
und die abfrage ob der user zu lange nichts gemacht hat (Browser geschlossen) kannst du in der startseite einbauen.
aber wenn du noch mehr so unkonstruktive fragen stellst solltest du lieber dein "LOGIN" sein lassen und zu HTML zurückgehen.
In einer tabelle einer datenbank gibt es variablen? das ist ja toll. es gibt da höhstens werte die in einem feld der tabelle stehen.
Wenn du je mit einer datenbank arbeiten willst must du wegkommen von dein blöden denken an variablen. in einer datenbank kann man nicht einfach ein feld ein wert zu weisen wie einer variable. ist schon ein bisschen anders.
und mit den ?timeout? schau einfach auf das zweite posting.
und die abfrage ob der user zu lange nichts gemacht hat (Browser geschlossen) kannst du in der startseite einbauen.
aber wenn du noch mehr so unkonstruktive fragen stellst solltest du lieber dein "LOGIN" sein lassen und zu HTML zurückgehen.
Antwort 7 von rampan
mein gott, entschuldige vielmals das ich erst seit 2 tagen mit datenbanken arbeite, was weiß ich wie das genannt wird.
tut mir leid, aber ich kann nicht alles von vornherein wissen.
tut mir leid, aber ich kann nicht alles von vornherein wissen.
Antwort 8 von rampan
"oder er wird nach einer bestimmten zeit, wo die daten nicht abgefragt werden, aus der liste gelöscht und ist somit auch ausgeloggt."
also damit kann ich überhaupt nichts anfangen, jetzt weiß ich immer noch nicht wie sowas gemacht wird.
also damit kann ich überhaupt nichts anfangen, jetzt weiß ich immer noch nicht wie sowas gemacht wird.
Antwort 9 von MixMax
also entweder er ist drin oder nicht, es sollte nicht erforderlich sein das festzuhalten.
als Wer ist online - Counter kannst du noch was extra machen und das dann auch nicht in einer datenbank sondern in Session-variablen speichern, das ist dafür eher geeignet
(mußt sowieso was mit sessionvariablen machen um festzustellen ob der Client weg ist)
Die durch scripte verbindung besteht ja immer nur sekundenweise wärend der ausführung des PHP-Scripts, ist die seite im browser einmal aufgebaut kann er ja durchaus noch 5 minuten nix tun und ist ja doch online. dafür gibt es sessions die bei jeden seitenaufruf verlängert wird, tut er zu lange nichts wird die session automatisch gelöscht.
ist nur etwas arbeit abzufragen welche sessions existieren, aber die Datenbank halte mal ganz da raus.
hier noch was zu sessionsDoku auf www.php.net
als Wer ist online - Counter kannst du noch was extra machen und das dann auch nicht in einer datenbank sondern in Session-variablen speichern, das ist dafür eher geeignet
(mußt sowieso was mit sessionvariablen machen um festzustellen ob der Client weg ist)
Die durch scripte verbindung besteht ja immer nur sekundenweise wärend der ausführung des PHP-Scripts, ist die seite im browser einmal aufgebaut kann er ja durchaus noch 5 minuten nix tun und ist ja doch online. dafür gibt es sessions die bei jeden seitenaufruf verlängert wird, tut er zu lange nichts wird die session automatisch gelöscht.
ist nur etwas arbeit abzufragen welche sessions existieren, aber die Datenbank halte mal ganz da raus.
hier noch was zu sessionsDoku auf www.php.net
Antwort 10 von agavensaft.de
erstmal danke an mich@.
Ich hab gerad überlegt, ob ich das doch lieber mit cookies mach als mit ner werteübergabe per browser (wie du geschrieben hast...)
aber dann mach ich das doch lieber alles mit werte.
an den vollnewbie würd ich mal sagen, dass du am besten die datenbank mittels einer immer includeten datein, immer die loginzeit aktualisiert (So hab ichs gemacht)
ich hab aber ne community gemacht... is also bissl komplexer als ebend gesagt... mit userid und pw usw
Ich hab gerad überlegt, ob ich das doch lieber mit cookies mach als mit ner werteübergabe per browser (wie du geschrieben hast...)
aber dann mach ich das doch lieber alles mit werte.
an den vollnewbie würd ich mal sagen, dass du am besten die datenbank mittels einer immer includeten datein, immer die loginzeit aktualisiert (So hab ichs gemacht)
ich hab aber ne community gemacht... is also bissl komplexer als ebend gesagt... mit userid und pw usw

