Problem mit switch-funktion

Verpeiler

Grünschnabel
Hey Leute,

bin gerade dabei, meine Seite auf Seitenids umzuschreiben.
Dazu möcht ich jeden Link auf die Index.php?page_id=xxx leiten lassen.
Die in page_id enthaltene Variable wird dann per switch-funktion ausgelesen.

Das sieht dann wie folgt aus:
PHP:
switch ($page_id)
{
  case 001: $page = "misc/start.php"; break;
  case 002: $page = "misc/news.php"; break;
  case 003: $page = "reg/reg_form.php"; break;
  case 004: $page = "reg/reg_exe.php"; break;
  case 005: $page = "misc/anleitung.php"; break;
  case 006: $page = "misc/faq.php"; break;
  case 007: $page = "misc/bug_form.php"; break;
  case 008: $page = "misc/bug_exe.php"; break;
  case 009: $page = "misc/support_form.php"; break;
  case 010: $page = "misc/support_exe.php"; break;
}

include('../design/design.php');
echo "include: $page<br>";  // gibt mir bei 007 die Seite von 010 an
echo $page_id;                   // gibt mir die richtige, im parameter stehende page_id aus
  include($page);                 // öffnet die entsprechende Seite
}

Bei den Seiten 001 bis 007 funkioniert das einwandfrei.
Jedoch, wenn ich page_id = 008 habe, leitet er mich auf support_exe.php weiter.
Bei 009 und 010 öffnet er keine der Seiten.

Wieso öffnet er mir die Falsche oder gar keine Seite, obwohl in der page_id die richtige Zahl drin steht?

Danke schonmal für jede Hilfe!

MfG, Verpeiler
 
Ich könnte dir eine andere Variante für das anbieten.

PHP:
// config.php

$Sites = array();
$Sites['001'] = "eine_seite.php";
$Sites['002'] = "eine_andere_seite.php";
...



// index.php?page=xxx (z.B.001, 002, 003. Geschickter wären aber richtige namen)
include "config.php";

/*hier die ausgabe von header und sonstigem*/

// Inhalt
if(($_GET['page'] != "") AND (isset($Sites[$_GET['page']))) {
    if(isset($Sites[$_GET['page']
     include $Sites[$_GET['page']];
} else {
     // include die Defaultseite
}

Ist ein sehr schönes system. Ich persönlich arbeite gerne und Oft damit weil man ganz einfach mit nur 1 Codezeile eine neue Seite integrieren kann =)

Ich hoff das hat dir geholfen ;)
 
Zuletzt bearbeitet:
Hey CookieBuster,

die Lösung ist gut ja.
Ich würd aber trotzdem gern wissen, warum der mit dem switch da nicht klar kommt.
Sonst nutz ich halt diese Variante.

Danke für die Hilfe,
Verpeiler
 
Zurück