Switch Anweisung falsch

  • Themenstarter Themenstarter StefanSteinbeck
  • Beginndatum Beginndatum
S

StefanSteinbeck

Hallo zusammen ,

ich bastele mir gerade eine neue HP , und wollte die ganze Sache mal mit HTML+PHP testen.

Klappt alles soweit , bis auf die switch-Anweisung (ich nutze Tabellen statt Frames)

Hier der Auszug aus dem code :

<?
switch($action){
case "news": include("news.php"); break;
case "member": include("member.php"); break;
case "scripts": include("scripts.php"); break;
case "imprint": include("ungenutzt.htm"); break;
case "contact": include("contact.php"); break;
default: include("test.htm"); break;
}
?>

Dieses habe ich in der mittleren Tabelle , wo es erscheinen soll , eingebettet.Ist das richtig

Oder muss ich es in der linken Tabelle , wo die Links stehen , einbetten

Das default beim aufruf der Index.php funktioniert einwandfrei , er zeigt mir die test.htm genau da an , wo ich sie haben möchte.....

Die Links habe ich so gestaltet <a href="index.php?action=contact">

Weiss jemand woran es liegt ?

Muss der Variablen $actin vorher ein Wert zugewiesen werden

DANKE für eure Hilfe
 
Hm, von der Syntax her seh ich jetzt keinen Fehler.

Aber dü könntest statt $action $_GET['action'] benutzen.
Wenn du wissen willst, was das bringt und wozu es gut ist, setzt dich mal mit dem Thema register_globals auseinander und mach dich über Superglobale Arrays schlau!
 
Ich liebe einfache Sachen ^^

PHP:
if (file_exists($_GET["action"].".php")) {
  include ($_GET["action"].".php");
} else {
  include ("test.htm");
}
 
Schön ronin, nur leider völlig überproportioniert für das Problem und keine Antwort auf die Fragestellung ;)

Das Problem war ganz einfach, dass er sich nicht an die Handhabkunf der GET/POST Variablen gehalten hat, die seit PHP 4.2.0 gelten :)
 
Original geschrieben von Tim Comanns
Schön ronin, nur leider völlig überproportioniert für das Problem und keine Antwort auf die Fragestellung ;)

Es ist nicht das Problem, aber eine Vereinfachung dessen was nach Vereinfachung schreit. :) Und seinem Script wirds siche auch gut tun ^^
 
code falsch

soviel ich weis ist der code falsch.
versuchs mal damit :
<?
switch($action){
case "news": include("news");
break;
case "member": include("member");
break;
case "scripts": include("scripts");
break;
case "imprint": include("ungenutzt");
break;
case "contact": include("contact");
break;
default: include("test");
break;
}
?>

und das musst du da einbinden wo diese ganzen sachen angezeigt werden sollen.
 
@mugge

Sorry, aber was soll dein Script uns sagen/zeigen? .. :confused:

PHP:
if (isset($_GET['action'])) {
    switch ($_GET['action']) {
        case "news": include("news.php");
            break;
        case "member": include("member.php");
            break;
        case "scripts": include("scripts.php");
            break;
        case "imprint": include("ungenutzt.htm");
            break;
        case "contact": include("contact.php");
            break;
        default: include("test.htm");
            break;
    } 
}

also $_GET bzw $_POST ist hier der Schlüssel zum Erfolg, wie Tim ja bereits geschrieben hatte ;)
 
Zuletzt bearbeitet:
Zurück