Dadsche: navigation über *.php?mod=asdf...

Hallo,
ich möchte ein Script haben welches eine Seite über
index.php?mod=navi1&id=1.1

Zuerst soll der Themenbereich (mit mod) ausgwählt werden, danach die entsprechenden Unterthemen (mit id) ausgewählt werden. Ich habe einmal angefangen zuschreiben, nur das ist mir viel zu viel Aufwand und ich denke das geht noch einfacher. Eventuell auch mit einer Datenbank, wo die ganzen Sachen dann drin gespeichert sind.

<?php
if($mod==navi1)
{
 if($id==1)
 {
 include("seite1.1.php");
 }
 elseif($id==2)
 {
 include("seite1.2.php");
 }
 else
 {
 include("error.php");
 }
}

elseif($mod==navi2)
{
 if($id==1)
 {
 include("seite2.1.php");
 }
 elseif($id==2)
 {
 include("seite2.2.php");
 }
 else
 {
 include("error.php");
 }
}

else
{
echo"error<br>";
}

?>

  1. Ahoi Dadsche

    Ich habe einmal angefangen zu schreiben, nur das ist mir viel zu viel Aufwand und ich denke das geht noch einfacher. Eventuell auch mit einer Datenbank, wo die ganzen Sachen dann drin gespeichert sind.

    Fein, hast Du auch eine Frage?
    Oder war die Frage ob es einfacher geht?
    Ja geht es.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Guten Mittag,

      Fein, hast Du auch eine Frage?
      Oder war die Frage ob es einfacher geht?
      Ja geht es.

      Und wie?

      Gruß Dadsche

      1. Huhu Dadsche

        Und wie?

        Offenbar möchtest Du anhand zweier GET-Parameter eine bestimmte
        Datei includen.

        Dann besteht die Aufgabe darin

        1. die Parameter auf Gültigkeit zu prüfen,
        2. aus den Parametern den Dateinamen zusammenzubastelen
        3. prüfen ob eine entsprechende Datei existiert
        4. die Datei ausgeben (includieren)

        Wenn bei 1. oder 3. etwas schief geht ist ggf. eine Fehlermeldung auszugeben.

        So ungefähr könnte man das machen

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday
  2. Hallo,

    ich möchte ein Script haben welches eine Seite über
    index.php?mod=navi1&id=1.1

    ist einfacher, wenn du da zwei "reine" Zahlen draus machst, z.B. für seite1.2.php:
      index.php?mod=1&id=2

    Frei nach lulu's korrektem Abriss des Ablaufs:
    <?php
    // zwingend in Zahl umwandeln, werden ggf zu Nullen
    settype($_GET['mod'], 'integer');
    settype($_GET['id'], 'integer');

    // HiWi-variablen
    $mod = $_GET['mod'];
    $id  = $_GET['id'];

    // gültig ist alles > 0: anpassen nach belieben
    if ($mod > 0 && $id > 0) {
      // datei schema
      $datei = "seite{$mod}.{$id}.php;
      // hier ggf. mit absoluten pfaden arbeiten
      if (!file_exists($datei)) {
         unset($datei);
      }
    }
    if (!isset($datei)) {
      $datei = "error.php";
    }
    include $datei;
    ?>

    Viel Spaß,
    CriTap