Prob mit ausgabe

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

  • Prob mit ausgabe

    folgendes prob:

    ich habe 5 ausgabebereiche in einem template.

    * user1
    * user2
    * top
    * left
    * right

    nun lade ich externe ausgaben bsp eine datenbankabfrage in diese bereiche. mein code dazu ist:

    PHP-Code:
    function xyz(){
    $filem './module/'.$S->usmod.'.php';
    if(
    file_exists($filem)){
        
    ob_start(); 
        require_once(
    $filem); 
        
    $code .= ob_get_contents(); 
        
    ob_end_clean();
        
    $code .= '</div>';
        }
    else{
            
    $code .=$lg->nomodule.'</div>';
        }
    return 
    code;

    lade ich solch einen ausgabe, oder mehrere, in den bereich left, funzt das 1a! wenn ich dagegen eines in left und eines in right lade, dann kommt keine anzeige. setze ich aber vor ob_end_clean(); ein print_r($code); dann ist genau das was ich haben will vorhanden. Wieso zeigt der das also nicht an?
    Zuletzt geändert von dani_o; 01.10.2007, 12:45.
    Signatur-Text ...

  • #2
    Wo soll denn dieser Code angezeigt werden? Ich sehe nirgends eine Ausgabe-Funktion.
    Und was diese Funktion zurückgibt ist auch undefiniert, ausser "code" wäre irgendwo als Konstante definiert.
    Gruss
    H2O

    Kommentar


    • #3
      omg - das iss ja auch nur n teilcode! Öhm keine rückgabe? bissu b lind? was iss dann return code; ?
      Signatur-Text ...

      Kommentar


      • #4
        Original geschrieben von dani_o
        was iss dann return code; ?
        dass hat sich H2O auch gefragt. am besten, du liest nochmal seinen post.

        Kommentar


        • #5
          mit <?=function xyz()?> hassu dann im Code auch die ausgabe - das Prob iss nur wenn ich den bereich wechsel also bsp. von left nach right iss meine ausgabe weg. Vorhanden isse aber, da sie ja bei left auch kommt ...
          Signatur-Text ...

          Kommentar


          • #6
            Zum verständniss ...

            Zum Verständniss ma der komplette code
            Das Lustige die menüs gehen überall ...
            PHP-Code:
                function sp_Load($lg,$sp_jos,$pos){
                
            $code '';
                    
            $res  mysql_query("SELECT * FROM ".$sp_jos."uses 
                            WHERE uswhere='"
            .$pos."' && isactive='y' ORDER BY 
                            uspos"
            );
                    if(
            mysql_num_rows($res)!=0){
                        while(
            $S mysql_fetch_object($res)){
                        if(
            $S->usshead=="y"){
                            
            $code .= '<h3><span>'.$S->ushead.'</span></h3>';
                        }
                        
            $code .= '<div class="module">';

                            if(
            $S->uswhat == "m"){
                                
            $resa  mysql_query("SELECT * FROM ".$sp_jos."menu 
            WHERE mid='"
            .$S->mid."' 
                                                    ORDER BY mpos"
            )or die(mysql_error());
                                
            $code  .= '<ul class="main-nav">';
                                while(
            $l mysql_fetch_object($resa)){
                                    
            $code .= '<li';
                                    if(
            $l->id == $_REQUEST['showid'])
            {
            $code .= ' class="active-link" ';}
                                    
            $code .='><a href="'.$l->mlink;
                                    if(
            ereg("\?",$l->mlink)){$code .= '&amp;';}
                                    else{
            $code .= '?';}
                                    
            $code.='showid='.$l->id.'" '
                                    if(
            $l->id == $_REQUEST['showid'])
            {
            $code .= ' class="active-link" ';}
                                    
            $code .='target="'
                                    if(
            $l->target=="s"){$code .= '_self';}else{$code .='_blank';}
                                    
            $code .='">'.$l->mtext.'</a></li>';
                                }
                                
            $code .= '</ul></div>';
                            }

                            elseif(
            $S->uswhat == "mm"){
                                
            $filem './module/'.$S->usmod.'.php';
                                if(
            file_exists($filem)){
                                
            ob_start(); 
                                require_once(
            $filem); 
                                
            $code .= ob_get_contents(); 
                                
            ob_end_clean();
                                
            $code .= '</div>';
                                }
                                else{
                                    
            $code .=$lg->nomodule.'</div>';
                                }
                            }

                        }
                    return 
            $code;
                    
                    }
                } 
            Signatur-Text ...

            Kommentar


            • #7
              Und was diese Funktion zurückgibt ist auch undefiniert, ausser "code" wäre irgendwo als Konstante definiert.
              Wieso undefiniert? PHP macht daraus einen String. Das einzige was nicht sauber wäre, ist dass bei E_ALL eine Notice beim ersten Zugriff auf $code geworfen würde. Danach ist $code aber definiert.
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                @jahlives, woher hast du diesen quatsch?

                @dani_o auf einmal doch return $code
                versuchst du eventuell zweimal die selbe datei zu includen? dann wäre require_once nicht richtig.

                Kommentar


                • #9
                  ne eigentlich sind das 2 unterschiedliche dateien - aba s funzt - scheiß macht der gewohnheit

                  dangöööööööööööööö
                  Signatur-Text ...

                  Kommentar


                  • #10
                    jahlives, woher hast du diesen quatsch?
                    Danke für den Wink mit dem Zaunpfahl. Irgendwie sah ich vor dem return noch ein $ :kopfInDieWandRamm:
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      OT:

                      OT:
                      Original geschrieben von dani_o
                      omg - das iss ja auch nur n teilcode! Öhm keine rückgabe?bissu b lind? was iss dann return code; ?
                      1)ein komische art sich zu bedanken.
                      2)ich habe gedacht, dass mein deutsch ganz schwach ist, aber jetzt sehe ich, dass es noch schlimmer kommen kann.
                      Slava
                      bituniverse.com

                      Kommentar


                      • #12
                        Re: OT:

                        Original geschrieben von Slava
                        OT:

                        1)ein komische art sich zu bedanken.
                        2)ich habe gedacht, dass mein deutsch ganz schwach ist, aber jetzt sehe ich, dass es noch schlimmer kommen kann.
                        Und das schlimmste daran ist, er ist wahrscheinlich aus Deutschland...

                        Kommentar

                        Lädt...
                        X