Hi!
nachdem wir uns nun zwei Tage zu Dritt mit den Sessions in PHP, aber vor allem mit den schlechten und teilweise widersprüchlichen Dokumentationen rumgeschlagen haben,
Ja? Ich finde die sehr gut! Was hast Du denn gelesen?
http://www.php3.de/manual/en/ref.session.php
http://www.php-faq.de/ch-version4_session.html
wo ist darin ein Widerspruch? Alles andere brauchst Du IMHO nicht!
Da steht IMHO alles was man wissen muss. Wenn Du wissen willst wie sich ein Sessioncookie vom normalen Cookie unterschiedet(ich weiß es nicht), mußt Du halt danach suchen, oder testweise beides erzeugen und den HTTP-Traffic belauschen und vergleichen. Das mußte ich auch bei meinen speziellen Socket-Verbindungen.
haben wir einigermaßen Überblick erhalten. Wir sind nun dabei, eine eigene Doku zu erstellen, damit die teilweise leider nur empirisch ermittelten Zusammenhänge nicht wieder versickern. Ich habe gerade das Inhaltsverzeichnis geschrieben und bin auf mehr als 30 Überschriften ersten Grades gekommen. Es dürften also so ca. 100 bis 150 Seiten werden.
Hä? Zu PHP-Sessions? Dann poste doch mal bitte die Überschriften!
Wir haben nur mit den PHP-Grundfunktionen gearbeitet, also ohne die OOP-Lib. Außerdem haben wir uns ein paaar Hilfsmittel (Monitor-Programme) erstellt.
Einige Fragen bestehen aber noch, und die würde ich gerne mit Euch zusammen klären:
1.) Es gibt scheinbar Unterschiede zwischen einem "Session-Cookie" und einem "normalen" Cookie. Wie bilden die sich in der System-Programmierung oder im HTTP-Protokoll ab?
entweder bei google suchen oder selbst HTTP-traffic lesen!
2.) Wie kann ich einen solchen Session-Cookie auf der Workstation feststellen und auslesen? Gibt es Tools?
Der Session-cookie an sich und als solcher existiert nur für die Dauer der Session und nur in einem Browserfenster! Das ist ja gerade Sinn der Sache. Wenn ich mich nicht irre wird das bei den Browsern verschieden gehandhabt, meist bleibt der Sessioncookie im Arbeitsspeicher! Und wieso willst Du das auslesen? Der Browser schickt den Cookie doch eh, und auf Daten des Clients sollst Du eh nicht zugreifen!
Außerdem haben diese beiden Punkte herzlich wenig mit PHP zu tun, sondern mit HTTP und Browsern!
3.) Welche offiziellen Möglichkeiten gibt es festzustellen, ob eine Session besteht? Wir haben nur die Auswerung der Konstante SID finden können.
???
Man könnte z.B. eine Variable in die Session schreiben, z.B. $_SESSION["ok"] = 1, und dann kannst Du einfach fragen if($_SESSION["OK"]), das sollte gut funktionierren. Aber die Frage ist ob man das überhaupt braucht! Denn wenn es nur darum geht zu testen ob der Browser bereits registriert ist, dann muß dieser ja auch die SessionID senden, also kannst Du einfach am Anfang des Scriptes prüfen ob die Variable entweder in $_POST[session_name()], $_GET[session_name()] oder in $_COCKIE[session_name()] steht, und evtl. noch mit der echten session_id() vergleichen. Man kann nicht für jede Kleinigkeit eine offizielle PHP-Funktion haben, wenn man sowas spezielles braucht dann schreibt man es sich selbst!
4.) Gibt es eine Möglichkeit, ein session_register() direkt auf einzelen der $HTTP_POST_VARS auzuüben?
???
Wieso das? Mit Trans_sid wird automatisch die SessionID an alle Links und in alle Formulare, und auf Wunsch sogar in Javascript usw. geschrieben. Was in $HTTP_POST_VARS bzw. $_POST steht, ist das was der Browser Dir schickt. Was willst Du da registrieren? Außerdem verwendet man heute kein session_register() mehr, sondern $_SESSION["variable"] = $wert um Werte in eine Sessionvariable zu schreiben.
Daran alleine sieht man wie tief Ihr bereits in der Materie seid!
Das sind die ersten Fragen. Die nächsten ergeben sich bestimmt beim Schreiben der Doku.
Also Sessions sind nun wirklich nicht schwer so schwer zu verstehen das man da eine 150 Seiten Doku bräuchte! Ich verstehe dagegen Deine Probleem nicht! Nenn mal konkrete Probleme, vielleicht brauchst Du die Doku ja doch nicht!
Grüße
Andreas