fatal error non-object

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

  • #16
    Ich glaube $störungsort ist seine Variable, aber die enthält mangels
    $störungsort = new Smarty();
    eben nur NULL und das hat insbesondere keine Methode assign(). Kann das sein?

    (Umlaute in Variablennamen ... )

    Kommentar


    • #17
      var_dump

      also habe etwas umgebaut auf...


      PHP-Code:
      var_dump($tpl); 
      gibt mir jetzt ein langes file aus, und am ende
      PHP-Code:
      Call to a member function on a none -object 
      $tpl = new Smarty();

      und dann... im script


      PHP-Code:
      $tpl->assign("data"$candy->getCaseData($id$red_blue)); 
      PHP-Code:
      tpl->display('menu.tpl'); 
      gruss pedro

      Kommentar


      • #18
        Re: var_dump

        Original geschrieben von petro_0
        PHP-Code:
        var_dump($tpl); 
        gibt mir jetzt ein langes file aus
        ... das hoffentlich mit "object" beginnt!?

        $tpl = new Smarty();
        Ja wo denn? Zeig doch mal etwas mehr Code! Auch die Stelle, an der $candy initialisiert wird.

        Kommentar


        • #19
          ;o)

          ja beginnt mit object!

          er gibt das Smarty array aus das er sich zieht, aber ich habe das script auf einem anderen rechner als diesen laufen und das ist es schwierig mit cut dann paste ;o)

          Ja wo denn? Zeig doch mal etwas mehr Code! Auch die Stelle, an der $candy initialisiert wird.

          wo $candy initialisiert weis ich nicht.das finde ich nicht so schnell in dem lange script.

          ich muss mich dem bedienen was da ist.hab das ding nicht geschrieben, muss es nur dazu ergänzen.

          aber mal ne frage?? er findet doch der fehlermeldung nach zu urteilen das object zu der function nicht oder???
          gruss pedro

          Kommentar


          • #20
            richtig...

            er motzt, dass eine methode (member function in PHP-deutsch) aufgerufen wird zu einem nicht instantiierten objekt.

            das kann zwei gründe haben:

            das objekt wurde nicht erzeugt, oder aber die klasse zu der das objekt gehört ist unbekannt.

            falls das objekt im selben script mit new Irgendwas() erzeugt wird, fällt die zweite Möglichkeit aus.
            In diesem Fall die Stelle suchen, wo das Object erzeugt wird, und guggen wo der Fehler ist (var_dump hilft, ruhig mal an verschiedenen stellen im script ausprobieren der reihe nach, um zu sehen, ab wann das Objekt zerstört wird)... Und immernoch wie bereits mehrmals angesprochen:
            $störungsstelle --> $stoerungsstelle ändern

            Falls das Objekt allerdings per Session übergeben wurde, ist die zweite Möglichkeit sehr wahrscheinlich. In diesem Fall erst Klasse includen, dann Session fortsetzen.

            greetz, high
            Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
            When everything else fails, manipulate the data...
            Beschriftungen / Großformatdruck / Werbemittel

            Kommentar


            • #21
              neuer fatal error

              da nun mittlerweilen soweit bin, dass er das Object instansiert hat,
              sagt er mit jetzt Fatal Error: Call to undefined function: getcustomerstadress() in /home/pfad on line 58



              hier die erstellte Klasse
              PHP-Code:
              class CandyDao {
                       var 
              $db null;
                       var 
              $HLR_ENGINE_ID 10;
                       var 
              $LSMS_ENGINE_ID 2
              hier die function
              PHP-Code:
              function getcustomerstadress($caseID) {
                                
              $case $this->getCaseObj($caseID);
                                
              $caseID $case->caseID;
                                
              $stoerungsort = array("Ort" => "{$case->plz} {$case->ort}"Straße" 
              => "{$case->strasse} {$case->hausnr}");
                                return array(
              "stort" => $stoerungsort);
                       } 
              hier der Template Code
              PHP-Code:
              $tpl->assign("st"$candy->getcustomerstadress($id));
                       
              $tpl->display('menu.tpl'); 
              Was mache ich falsch?

              es sei noch dazu gesagt, das ich das file mit der Klasse per require_once einbinde! Es steht laos nicht im selbem Script!
              Zuletzt geändert von petro_0; 09.07.2006, 14:28.
              gruss pedro

              Kommentar


              • #22
                Sieht so aus als wäre

                $candy keine Instanz von CandyDao und somit gibts die deklarierte Funktion nicht.
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #23
                  weis nicht

                  gelöscht!
                  Zuletzt geändert von petro_0; 09.07.2006, 16:54.
                  gruss pedro

                  Kommentar


                  • #24
                    Copy Paste?

                    require_once "CandyDao.php <-- Da fehlt -> "; <-

                    $candy->db = $con; <-- Candy wird doch erst 6 zeilen tiefer deklariert warum nutzt du da jetzt schon eine Klassenvariable?
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #25
                      ohhh

                      ja, mein fehler habe falsch kopiert!
                      require_once "CandyDao.php <--";--> hab ich schon richtig drin!


                      Gut stimmt die zweite Sache... habs jetzt umgedreht... Aber immer noch selber Fehler ;o(

                      PHP-Code:
                      $candy = new CandyDao();
                       
                      $candy->db $con
                      gruss pedro

                      Kommentar


                      • #26
                        Führ das mal aus
                        PHP-Code:
                        $arr get_class_methods($candy);
                        echo 
                        "<pre>";
                        print_r($arr); 
                        Und poste mal das Ergebnis
                        gruss Chris

                        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                        Kommentar


                        • #27
                          ja!

                          Danke für den tip.

                          Die funktion war nicht in der Klasse mit drin.


                          Array
                          (
                          [0] => candydao
                          [1] => gethlrpwd
                          [2] => gethlrusr
                          [3] => gethlrforname
                          [4] => getenginevalue
                          [5] => getresult
                          [6] => getobjectfromtable
                          [7] => getengineresultforcase
                          [8] => getobjectsfromtable
                          [9] => getsomethingfromtable
                          [10] => getengineresultformsisdn
                          [11] => getlsmsdataformsisdn
                          [12] => getlsmsdataforcase
                          [13] => ismulticard
                          [14] => gethlrformsisdn
                          [15] => gethlrnameformsisdn
                          [16] => getmscformsisdn
                          [17] => gethlrformulticardid
                          [18] => getuser
                          [19] => getwarenkoerbeforuser
                          [20] => getwarenkoerbeforcase
                          [21] => iscaseeskaliert
                          [22] => showsmsforname
                          [23] => allowedtoeditcase
                          [24] => getqaforcase
                          [25] => getbearbeiterforcase
                          [26] => getuserbearbeitungforcase
                          [27] => getstatusforcase
                          [28] => getinboxforcase
                          [29] => getexternfield
                          [30] => getcaseobj
                          [31] => getcasedata
                          [32] => getengineresultsforcase
                          [33] => getmulticardserveripforname
                          )


                          Fatal error: Call to undefined function: getcustomerstadress() in /home/schruefg/public_html/workspace/candy/www/menu.php on
                          line 78

                          Habe die } falsch gesetzt gehabt ;o(

                          Jetzt bin ich einen schritt weiter!

                          Danke!
                          gruss pedro

                          Kommentar


                          • #28
                            Re: ja!

                            Original geschrieben von petro_0
                            Habe die } falsch gesetzt gehabt ;o(
                            lern richtig Einrücken und/oder hol dir einen Editor, der zusammengehörende Klammern highlighted, das erspart so manche Suchaktion

                            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                            Wie man Fragen richtig stellt

                            Kommentar


                            • #29
                              OffTopic:
                              Wie steht es mit einem subforum für reine Anwender (nicht-entwickler), modifizierer und dergleichen? Der Hauptbedarf an php-Gedankenaustausch scheint in diese Richtung zu gehen

                              Kommentar


                              • #30
                                Original geschrieben von mäander_
                                OffTopic:
                                Wie steht es mit einem subforum für reine Anwender (nicht-entwickler), modifizierer und dergleichen? Der Hauptbedarf an php-Gedankenaustausch scheint in diese Richtung zu gehen
                                gibt es, Projekthilfe.

                                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                                Wie man Fragen richtig stellt

                                Kommentar

                                Lädt...
                                X