mrjerk: $_SESSION Problem

Beitrag lesen

Hallo,

Ja, aber ich habe noch nicht so ganz verstanden, warum das keinen Sinn macht...

Also, nehmen wir mal an, Dein $dbsql ist ein Connection-Handle und wird in der index.php aufgemacht, also in etwa so:

  
$dbsql = mysql_connect  ("locahost"  "user", "pass");  

Jetzt ist die index.php am Ende ihrer Ausführung angekommen. Der Webserver schliesst automatisch alle offenen Resourcen, also auch die Datenbank-Verbindung.
Jetzt rufst Du Deine "design.php" auf. Selbst WENN Du die offene Datenbankverbindung serialisieren KÖNNTEST, sie wäre jetzt ohnehin zu, und du müsstest sie neu aufmachen.
=> Macht also keinen Sinn, zumindest bei Standard-PHP nicht.

Andere Architekturen (z.b. J2EE) können Resourcen auch über verschiedene Requests im Speicher halten, und da ist das dann sogar sinnvoll, wenn z.b. die Datenbankverbindung offen bleibt, weil man sich so den Overhead für das Verbindung-Aufmachen spart.
Allerdings würde man auch in diesem Fall nicht die Datenbankverbindung serialisieren, sondern eher eine allgemeine Funktion programmieren, die immer eine Datenbank-Verbindung zurückgibt (oder eine erzuegt) - Stichwort Singleton.
Theoretisch kann man für PHP sowas mit FastCGI basteln, wenn man's unbedingt braucht - braucht man aber in der Regel nicht, wenns nicht um hochperformante Sachen geht.

echo session_id();, liefert in der Datei design.php nichts zurück.

Das kommt dann erschwerend noch hinzu.
Wie übergibst Du die Session-ID denn zwischen den beiden Skripten? Per Cookie oder per URL-Parameter? Rufst Du auch in der "design.php" "session_start()" auf?