kostenloser Webspace werbefrei: lima-city


Wiederspruch: Session und Objekte

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    volnerius

    volnerius hat kostenlosen Webspace.

    Ich hab mehrmals im Internet gelesen das wenn man Objekte in Session speichert, muss man die Klassen vor dem Start der Session includen, ansonsten sind sie nutzlos und es erscheint eine Fehlermeldung. Aber wiederrum darf doch NICHTS vor dem Start einer Session sein. Das lässt mich PHP auch spüren und ich bekomme die Fehleremldung, also was tun?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. volnerius schrieb:
    Ich hab mehrmals im Internet gelesen das wenn man Objekte in Session speichert, muss man die Klassen vor dem Start der Session includen, ansonsten sind sie nutzlos und es erscheint eine Fehlermeldung. Aber wiederrum darf doch NICHTS vor dem Start einer Session sein. Das lässt mich PHP auch spüren und ich bekomme die Fehleremldung, also was tun?


    Ja es ist absolut richtig dass Klassen vor dem session_start() eingebunden werden müssen, um Objekte in einer Session-Variable zu speichern.
    Allerdings stimmt deine Annahme dass "NICHTS" vor session_start() sein darf nicht! Es darf lediglich keine Ausgabe erfolgen. Man kann aber nach Belieben jeden anderen Code vor session_start() schreiben.
    Bei php.net steht sogar wörtlich:
    Um eine benannte Session zu verwenden, rufen Sie session_name() auf, bevor Sie session_start() aufrufen.

    oder
    Verwendet ein Benutzer ob_gzhandler oder ähnliches mit ob_start(), dann ist die Reihenfolge der Funktionen wichtig für eine korrekte Ausgabe. Zum Beispiel muss ob_gzhandler vor Beginn der Session registriert werden.


    Beitrag zuletzt geändert: 25.6.2011 8:07:50 von alfr3d
  4. Es darf lediglich keine Ausgabe erfolgen


    Selbst das ist möglich und manchmal unumgänglich. Wir hatten ein ähnliches Thema bereits.
  5. fabo schrieb:
    Es darf lediglich keine Ausgabe erfolgen


    Selbst das ist möglich und manchmal unumgänglich. Wir hatten ein ähnliches Thema bereits.


    Klär mich auf, ich dachte immer eine Ausgabe verursacht diesen "Header already sent..."-Fehler...?!
  6. <?php
    ob_start();
    echo 'Test: ';
    
    session_start();
    $_SESSION['test'] = 'bestanden';
    
    echo (isset($_SESSION['test']) && !empty($_SESSION['test']) ? $_SESSION['test'] : 'nicht bestanden');
    ob_end_flush();
    ?>


    EDIT:

    http://fabo.lima-city.de/blog/25-header-nach-einer-ausgabe-senden

    Beitrag zuletzt geändert: 25.6.2011 8:52:28 von fabo
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!