total komisch....

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

  • total komisch....

    Also bin ich blöde?? Ich hab voll was einfaches... aber da kommt immer eine "1" und ich weiß nicht warum?

    Versucht mal folgendes:
    legt bitte mal 2 Dateien an (index.php und navi_a.php)
    index.php
    PHP-Code:
    <?php
      
    if (isset($_GET['navi'])) {
        if (
    $_GET['navi'] == "a")  { $navi = include("navi_a.php"); }
        if (
    $_GET['navi'] == "b")  { $navi = include("navi_b.php"); }
      }
      else {
        
    $navi = include("navi_a.php");
      }

    echo 
    $navi;
    ?>
    navi_a.php
    PHP-Code:
    <?PHP
    print 'Link';
    ?>
    Rufe ich jetzt die index.php auf, bekomme ich logischerweise die navi_a.php angezeigt. Also sollte da nur stehen "Link" aber neiiiin ich bekomme "Link1" ausgegeben.

    Woher kommt die "1" ????
    Zuletzt geändert von Nordin; 13.04.2006, 10:00.

  • #2
    Hallo

    entferne mal das "echo" und versuche nicht das was du includest in eine Variable zu schreiben. Also lösche auch "$navi = "

    Dann sollte es gehen!

    Kommentar


    • #3
      Ah ok, es lag am echo...

      Aber warum kommt wenn ich das echo setze eine 1? Hmm nun gut ich dank dir...

      Kommentar


      • #4
        Weil die 1 nur der rückgabewert in der variable $navi ist. Also das ergebnis der funktion include. Die navi.php wird bereits in der if-abfrage includiert.

        Ich würde es eher so machen:
        PHP-Code:
        <?php
          
        if (isset($_GET['navi'])) {
          if (
        $_GET['navi'] == "a")  { 
             include(
        "navi_a.php");
             }
             elseif (
        $_GET['navi'] == "b")  {
             include(
        "navi_b.php");
             }
          }
          else {
          include(
        "navi_a.php");
          }
        ?>
        [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

        Kommentar


        • #5
          Aber warum kommt wenn ich das echo setze eine 1?
          Vielleicht weil du ein echo mit einem print drinnen machst. Du versuchst php Code mit echo auszugeben. Du kannst aber nur String mittels echo ausgeben.

          Gruss

          tobi
          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


          • #6
            eben! mach mal ein
            PHP-Code:
            echo gettype($navi); 
            anstatt
            PHP-Code:
            echo $navi
            dann siehst du was tobi meint.
            [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

            Kommentar


            • #7
              Ja ich verstehe... hab es schon bei dir kapiert.


              @cipolla
              danke für dein Hinweis... ich muss die Navi aber in einer Variablen stecken... funzt jedenfalls.

              Kommentar


              • #8
                Wenn du die navi unbedingt in der variable haben willst ist das etwas komplizierter. ein ansatz wäre die ausgabe zu puffern und dann in der variable abzuspeichern. so grob aus dem kopf:

                PHP-Code:
                ob_start();
                include(
                "navi.php");
                $navi=ob_get_contents();
                ob_end_clean();

                // hier die Augabe

                echo $navi
                [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                Kommentar

                Lädt...
                X