fatal error non-object

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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 ... )

    Comment


    • #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

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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!
              Last edited by petro_0; 09-07-2006, 13:28.
              gruss pedro

              Comment


              • #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]

                Comment


                • #23
                  weis nicht

                  gelöscht!
                  Last edited by petro_0; 09-07-2006, 15:54.
                  gruss pedro

                  Comment


                  • #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]

                    Comment


                    • #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

                      Comment


                      • #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]

                        Comment


                        • #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

                          Comment


                          • #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

                            Comment


                            • #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

                              Comment


                              • #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

                                Comment

                                Working...
                                X