Nach starten des Session ist $this==Object?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nach starten des Session ist $this==Object?

    Hallo!

    Fogendes Problem. In einer Klasse bzw. Methode wird ein Session gestartet. Doch nach den start wird wird er Zeiger $this nicht nicht mehr erkannt. Warum? Die Fehlermeldung leutet dementsprechend
    Fatal error: Call to a member function on a non-object
    Der Quellcode sieht wie folgt aus
    PHP-Code:
    if (session_id() == '' && !defined('SID')) {
                
    session_start();
            }
            
            
    $_SESSION['order'] = array();
            
    $_SESSION['order']['start'] = $startTime;
            
    $_SESSION['order']['weeks'] = $weeks;
            
    $_SESSION['order']['yacht_id'] = $id;
            
            
    $arrPrice $this->getRentPrice($id$startTime$weeks);
            
    $this->yacht->getYacht($id); 
    Alle "$this" werden nach den starten der Sitzung als instanzen interpretiert??? Vieleicht sehe ich aber vor lauter Bäumen den Wald nicht mehr.

    PHP Version 4.3.8
    Zuletzt geändert von schlimmerfinger; 22.09.2004, 09:57.
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

  • #2
    $this==array()

    hab mal folgendes getestet:
    PHP-Code:
    echo gettype($this);
            
            if (
    session_id() == '' && !defined('SID')) {
                
    session_start();
            }
            
            
            
    $_SESSION['sorder'] = array();
            
    $_SESSION['sorder']['start'] = $startTime;
            
    $_SESSION['sorder']['weeks'] = $weeks;
            
    $_SESSION['sorder']['yacht_id'] = $id;
            
            echo 
    "<br>" gettype($this);
            echo 
    "<pre>";
            
    print_r($this);
            echo 
    "</pre>";
            exit; 
    Das ergbebniss ist und jetzt kommst:
    object
    Warning: session_start(): Cannot send session cookie - headers already sent by ...

    Warning: session_start(): Cannot send session cache limiter - headers already sent ...

    array

    Array
    (
    [start] => 1095462000
    [weeks] => 3
    [yacht_id] => 1
    )
    Was passiert da und vorallem warum passiert es. Ist es ein BUG?
    Zuletzt geändert von schlimmerfinger; 22.09.2004, 10:19.
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

    Kommentar


    • #3
      Warning: session_start(): Cannot send session cookie - headers already sent by
      da erfolgte schon eine ausgabe, daher der fehler. du mußt die session starten BEVOR du irgendetwas ausgibst.

      gruss
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Original geschrieben von Kropff
        da erfolgte schon eine ausgabe, daher der fehler. du mußt die session starten BEVOR du irgendetwas ausgibst.

        gruss
        peter
        Das ist mir schon klar, aber auch nicht mein Porblem. Mein Problem ist das $this nach dem starten der Sitzung vom einem object zu einem array wird.
        Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
        PHP Sicherheit
        PHPUnit[1-2]
        Professionelle Softwareentwicklung mit PHP 5
        Professionelle PHP 5-Programmierung

        Kommentar


        • #5
          machst Du vorher folgendes?
          PHP-Code:
          include 'meineKlasse.php'

          EDIT:

          sorry, habe Dich mißverstaden

          [Test] MySQL cli Emulator

          Kommentar

          Lädt...
          X