 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
01.09.2005, 00:35
|
#31
|
|
TP-Veteran
Registriert seit: Sep 2004
|
@steffen:
ok, ich habe es grad mal mit empty geprüft und funktioniert. wenn keine cookies angenommen werden erscheint eine hinweisseite.
wie würdest du es machen, also einfach vorraussetzen das cookies angenommen werden oder die id ansonsten per url übertragen? ich bin ja der meinung wer die cookies nicht annimmt muss eben aussen vor bleiben, bzw. er bekommt ja den hinweis.
habe auch mal auf ner seite mit einem shop geschaut und bei mir cookies abgeschaltet und z.Bsp. ging dann die warenkorbfunktion nicht mehr
|
|
|
01.09.2005, 01:20
|
#32
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Ohne Cookies funktionieren die meisten Shops nicht.
Ein Hinweis sollte hier genügen.
Meine Devise lautet hier ohne Rücksicht auf Verluste  Wer kaufen will, befolgt auch die Anweisungen.
|
|
|
01.09.2005, 02:07
|
#33
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Darmstadt
|
moderne browser bieten ja außerdem die möglichkeit, cookies ausschließlich ausgewählten seiten zu gestatten. du kannst ja deine user darauf hinweisen, wenn du einen ausführlichen hinweis geben möchtest.
__________________
forenregeln - 3.d) ... richtige groß- und kleinschreibung benutzen ...
|
|
|
01.09.2005, 09:58
|
#34
|
|
TP-Veteran
Registriert seit: Sep 2004
|
genau so werde ich das machen
habe aber bei 2 shop seiten nicht mal nen hinweis bekommen, naja ich werd es besser machen :-)
was ich mir auch überlegt habe, man könnte ja bei einem login mit sessions die id in der datenbank speichern und dann immer prüfen ob die id gesetzt ist, dann würde man ja auch unabhängig davon sein, ob cookies akzeptiert werden
|
|
|
01.09.2005, 10:35
|
#35
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Das ist das, was die meisten Foren machen - sie speichern die Sessions in der DB
|
|
|
01.09.2005, 12:47
|
#36
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Schweiz
|
ja, womit es eben doch ohne url übergabe geht 
|
|
|
01.09.2005, 12:52
|
#37
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Zitat:
|
Zitat von Daniel N.
ja, womit es eben doch ohne url übergabe geht 
|
jein
Wenn die alte Session wieder aufgegriffen werden soll, muss man ja wissen, um welche Session es sich handelt - dafür braucht das Script die SessionID.
Entweder sie kommt vom Cookie oder von der Url.
In der DB werden lediglich die SessionID und die Session-Daten gespeichert.
|
|
|
01.09.2005, 13:12
|
#38
|
|
TP-Veteran
Registriert seit: Sep 2004
|
aber wenn die session-id doch in der datenbank steht dann reicht das doch? ich starte das script mit session_start() und dann habe ich doch die id. nun wird sie mit session_id() verglichen, da brauch ich doch weder ne url noch cokkie
|
|
|
01.09.2005, 14:12
|
#39
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Die Daten werden da gespeichert !
Ihr vergesst das Bindeglied, die SessionID.
Natürlich wird die auch gespeichert.
Ich versuchs nochmal ganz einfach zu erklären:
Im Script steht session_start();
Jetzt beauftragt PHP den Session-Handler, eine Session zu starten.
Dieser fragt als erstes nach einer gültigen ID.
Ist die vorhanden (die muss also übergeben worden sein), sucht der Handler die zu dieser ID passenden Daten und schreibt sie in das Session-Array. Ist keine da, wird eine neue ID generiert und das Session-Array bleibt leer.
Wo die Sessiondaten gespeichert sind, weiss der Session-Handler. Steht er auf Cookie, holt er sich die Cookies. Steht er auf Datenbank, holt er sich die aus der Datenbank.
Man kann auch eigene Händler schreiben und eigene Methoden entwickeln, i.d.R. reichen die Bordmittel allemal aus.
Die Sessiondaten in der DB zu speichern hat halt den Vorteil, das sie Serverseitig liegen und Browserunabhängig sind.
Also zusammenfassend - das einzige was man immer braucht ist die Session-ID !
|
|
|
01.09.2005, 14:34
|
#40
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Schweiz
|
argh klar muss die id übertragen werden.. hab nur grad ausser acht gelassen, dass ich sessions bisher einzig und alleine für logins verwendet habe und somit eine hidden-field benutzt hab.
|
|
|
01.09.2005, 14:36
|
#41
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Darmstadt
|
@alexf812: die session id MUSS der client bekommen und dieser MUSS diese wieder beim nächsten request senden, ohne diesen weg macht die session keinen sinn. in der session werden clientbezogene daten abgelegt. d.h. der client muss sich auch jedes mal mit der session id authentifizieren, sonst kann man doch die session daten nicht mehr zuordnen. was bringt es denn, die session id ausschließlich auf dem server zu lassen? (rethorische frage) dann kann der session manager doch gar nicht mehr die session einer anfrage zuordnen und wieder aufnehmen.
es existieren doch in der regel immer mehrere sessions parallel, von verschiedenen clients!
EDIT
kurze anmerkung zu den begriffen: der anfang einer session wird mit login bezeichnet und das ende mit logout. da aber die authentifizierung mit der session id nur den client identifiziert, wird in der regel eine passwortabfrage gemacht, um auch den user zu authentifizieren.
__________________
forenregeln - 3.d) ... richtige groß- und kleinschreibung benutzen ...
Geändert von giv (01.09.2005 um 14:39 Uhr).
|
|
|
01.09.2005, 17:34
|
#42
|
|
TP-Veteran
Registriert seit: Sep 2004
|
ich erklär es nochmal kurz was ich miente, vieleicht hab ich mich unglücklich ausgedrückt
angenommen ich benutz zum login die session.
das script startet mit session_start ich überprüfe die zugangsdaten und schreibe nach erfolg in die tabelle user die sessionID, also ungefähr update user set sessionID = session_id()
so dann im nächsten script kommt zum anfang wieder session_start()
da ich prüfen will ob man eingeloggt ist mache ich ein Select user_id from user where session = session_id() am anfang des scripts und kann mir später ja die userdaten anzeigen lassen mit nem select * from user where user_id = user_id. so wurde ja weder ein cookie noch die url verwendet...oder hab ich jetzt grad en denkfehler?
EDIT
Glaube hatte doch en denkfehler, so wie oben beschriebn wird es nicht funktionieren, da ja bei jedem seitenaufruf eine neue session id erzeugt wird wenn ich keine cookies akzeptiere, also kann ich auch nicht die id prüfen, da sie ja immer anders ist.
steffen hats ja schon paar mal geschrieben...
Geändert von alexf812 (01.09.2005 um 17:48 Uhr).
|
|
|
01.09.2005, 17:48
|
#43
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Darmstadt
|
ja, da is ein denkfehler. wenn du keinen session cookie angelegt hast und wenn keine session id übergabe per url oder sonst wie erfolgt ist, wird beim nächsten seitenaufruf durch session_start() eine neue session gestartet. die hat dann auch eine neue id.
wie gesagt, durch eine session ordnest du einen zustand, der bei einer http anfrage entstanden ist, einem client zu und speicherst (also nicht du, sondern php) den zustand irgendwie (in einer datei oder in einer datenbank). bei der nächsten http anfrage, die von irgend jemand sein kann, überprüft session_start(), ob der client, der diese anfrage macht, sich durch das senden einer session id erkenntlich gemacht hat und ob die zugehörige session noch existiert. wenn ja, wird diese wieder aufgenommen und wenn nein, dann wird eine neue session begonnen.
der client kann die session id aber nur kennen, wenn du sie ihm mitteilst. in der datenbank bringt sie ihm gar nichts. normalerweise wird das alles automatisch gemacht, entweder per cookie oder per anhängsel an die urls.
__________________
forenregeln - 3.d) ... richtige groß- und kleinschreibung benutzen ...
|
|
|
01.09.2005, 17:49
|
#44
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Darmstadt
|
bau doch mal ein solches szenario, wenn du meinst, dass es funktionieren könnte. learning by doing
EDIT
ok  , hat sich erledigt. jetzt muss es nur noch Master_T2 kapieren.
__________________
forenregeln - 3.d) ... richtige groß- und kleinschreibung benutzen ...
|
|
|
01.09.2005, 17:52
|
#45
|
|
TP-Veteran
Registriert seit: Sep 2004
|
genau, naja nu hab ichs verstanden :-) war die ganze zeit auf dem falschen weg.
aber hab mich auch erst jetzt damit auseinandergesetzt weil ich bis vor kurzem mal ein problem beim login hatte, wo die userdaten richtig waren aber es ging einfach nicht, das lag an den cookies. hatte ja hier im forum dazu auch mal gefragt.
aber dann geb ich eben demnächst nen hinweis. ausserdem etliche shop scripte halten auch den warenkorb in ner session. muss man eben cookies anschalten
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
|
 |