switch-problem

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

  • switch-problem

    hallo zusammen!!

    bin neu hier, und komm' gleich mit einem problem in's board...(suche hatte nichts ergeben)

    folgendes: in meiner "start.php" frage ich per switch ab, welcher parameter übergeben wird, um dann den betreffenden teil per include einzubinden:

    PHP-Code:
    <!--Beginn des Content-Bereiches-->
    <table align ="center" border="0" width="100%">
      <tr>
        <td valign="top" width="120px"><?php include("variabel/menu.php")?></td>
        <td valign="top"><!--Beginn des variablen Contents-->
        <?php

        
    // Pruefung, ob 'action' gesetzt ist.
        
    if (isset($HTTP_GET_VARS['action'])) {
            
    $action $HTTP_GET_VARS['action'];
        } else {
            
    $action "news";
        }

        switch (
    $action) {

            case 
    "about":
            echo include(
    "about.php");
            break;

            case 
    "bild":
            echo include(
    "bild.php");
            break;

            case 
    "impressum":
            echo include(
    "impressum.php");
            break;

            case 
    "katzen":
            echo include(
    "katzen.php");
            break;

            case 
    "links":
            echo include(
    "links.php");
            break;

            case 
    "news":
            echo include(
    "news.php");
            break;

            default:
            echo include(
    "news.php");
        }
        
    ?>
        </td>
      </tr>
    </table>
    <!--Ende des Content-Bereiches-->
    das klappt auch soweit, nur, das mir "switch" eine '1' in die Seite haut.

    Das sieht im Quelltext dann (Beispiel "about") folgendermassen aus, der Übersichtlichkeit halber ohne das menü, die '1' taucht kurz vor'm Ende auf:

    PHP-Code:
    <!--Beginn des Content-Bereiches-->
    <
    table align ="center" border="0" width="100%">
      <
    tr>
        <
    td valign="top" width="120px"><table class="rand" width="100px">
      <
    tr>
        <!--
    Hier steht das Menue-->
        <
    td valign="top"><!--Beginn des variablen Contents-->
        <
    table width="100%">
      <
    tr>
        <
    td class="rand" bgcolor=#CCCCCC>
        
    <p>Rund um diese Seite</p>
        </
    td>
      </
    tr>
      <
    tr>
        <
    td>
        <
    p>Wissenswertes zur Person und zur Seite...</p>
        </
    td>
      </
    tr>
    </
    table>1    </td>
      </
    tr>
    </
    table>
    <!--
    Ende des Content-Bereiches--> 
    Wenn ich in der "start.php" das, was im Fall vom Parameter "about" includiert werden soll direkt reinschreibe (statt der switch-anweisung), klappt es alles ohne Probleme...

    Diese '1' taucht dort immer auf, egal, was includiert wird...

    Warum "generiert" mir "switch" diese dämliche '1'?

    Wäre klasse, wenn ihr mir da helfen könntet...bin mittlerweile ziemlich ratlos...

    Das Problem tritt sowohl lokal (Apache 1.3.29, PHP 4.3.5 unter w2ksp4), als auch im web (Testaccount bei www.all-inkl.com, Apache 1.3.23, PHP 4.2.0 unter Linux 2.4.9-31)

    woelfchen

  • #2
    was soll denn die echo vor den include-Befehle?

    wenn ein php-Script kein Return hat, dann gibt include immer 1 zurück,
    sonst den Returnwert. mit echo gibst du eben diesen Returnwert aus.

    Fazit: RTFM

    Kommentar


    • #3
      Original geschrieben von asp2php
      was soll denn die echo vor den include-Befehle?

      wenn ein php-Script kein Return hat, dann gibt include immer 1 zurück,
      sonst den Returnwert. mit echo gibst du eben diesen Returnwert aus.

      Fazit: RTFM
      stimmt, das war der fehler...dank' dir!

      Original geschrieben von asp2php
      Fazit: RTFM
      hatte ich, aber wohl nicht ausreichend...


      zu meiner verteidigung muss ich aber sagen, das ich erst am montag begonnen habe, mich mit php auseinanderzusetzen...

      woelfchen

      Kommentar

      Lädt...
      X