Moin!
Der erste Seitenaufruf sollte zur Folge haben, dass alle Links mit einem weiteren Parameter ergänzt sind, der ungefähr so lautet: "PHPSESSID=32stelligeHexzahl".
Dies funktioniert aber nur, wenn use_trans_sid aktiviert ist, was nun nicht mehr standartmäßig der Fall ist. Aber wenn die Get-Variable ohne $_GET[] zu bekommen ist, ist die Konfiguration aber wahrschienlich so, daß das auch der Fall ist.
Allerdings verstehe ich deine Prozedur nicht ganz, beim ersten seitenaufruf steht die PHPSESSID immer hinter den Links (wenn s.o.), egal ob man den Cookie annimmt oder nicht. beim zweitenmal ist sie dann nicht mehr vorhanden, wenn der Cookie erfolgreich gesetzt wurde. Würde mich interessieren, warum du diesen etwas umständlichen Weg gehts.
Ein weiterer Fehler könnte bei einem Lokal installierten Webserver sein, daß das Verzeichnis für das Speichern von sessions nicht richtig angegeben wurde - z.b. hat PHP dort keinen Schreibzugriff, oder es existiert einfach nicht. Die einstellung befindet sich meines Wissens in der php.ini und heißt session_dir oder so ähnlich. Wenn dies der Fall ist, werden die Cookies normal gesetzt, ober PHP kann die Infos, die es speichern sollte, nicht mehr abrufen.
hoffe, das Hilft
Heizer