Moin moin.
Ich bin gerade mal wieder dabei, einen PHP-Chat auf die Beine zu stellen. Das hatte ich in einer älteren Version schonmal grundlegend hinbekommen (will heißen: Input und Output funktionierten, sonst gab's keine großartig tollen Features). Nun mach ich das ganze nochmal wieder, mit neugeschriebenem Code und einigen anderen Sachen, aber jetzt stolpere ich wieder über eines meiner Lieblingsprobleme: Seiten mit Session-Verwendung, die einfach nicht mehr ausgeliefert werden wollen.
Der Aufbau sieht wie folgt aus: Wir haben eine output.php, die in regelmäßigem Abstand neue Nachrichten aus der Datenbank abfragt und ausgibt, und eine input.php, die eben ein Textfeld und einen Submitbutton enthält, und die geschriebenen Nachrichten in die Datenbank einträgt. Das ganze findet sich in der chat.php in einem Frameset.
Wenn ich mich nun einlogge (bzw. mir die Sessionvariablen besorge, die mir Zugriff zum Chat verschaffen) und die input.php allein aufrufe, wird sie ganz normal angezeigt, also das leere Textfeld + Submitbutton. Wenn ich sie nun aber erneut aufrufe (also neulade, die Seite schließe und neu öffne oder was auch immer), wird mir nichts mehr angezeigt - Die Seite bleibt weiß, mein Server liefert mir keine Datei. Das Gleiche bei der output.php - beim ersten Aufruf wird sie angezeigt, danach weigert sie sich.
Bei der input.php geht es noch etwas weiter: Wenn man vor dem ersten Aufruf die output.php aufruft, will die input.php auch nicht mehr. Was natürlich ärgerlich ist, da ja schließlich beide Dateien im Frameset geladen werden sollen.
Nun frage ich mich als kleiner, (was Sessions angeht) recht unerfahrener PHP-Programmierer: Warum denn? ;__;
Außer der Sessioninitialisierung und der Datenbankverbindung ist in der input.php im Grunde kein PHP vorhanden ... die output.php ist schon umfangreicher, aber diese macht ja seltener Probleme ... ihr könnt mir nicht zufällig sagen, woran das liegt und wie ich das ändern kann?