Navigation mit Subpunkten

aTa

Erfahrenes Mitglied
Hallo,
ich hab nun schon etwas nachgeschaut und bin auch schon fündig geworden. Hab dann auch gleich mal was versucht und würde nun gerne wissen ob man das so machen kann oder ob das total falsch ist bwz so ja mal gar nicht geht.
Danke schonmal!!


PHP:
<?php
echo '<a href="?action=one">one</a><br><a href="?action=two&id=subtwo">two</a><br>';

if( isset($action)) {
if ($action == "one"){
    include 'one.php';
}
if ($action == "two" && $id == "subtwo"){
    include 'test.php';
}
echo '<a href="?action=three">three</a><br>';
if ($action == "three"){
    include 'three.php';
}
}


?>
 
Das funktioniert nicht ganz, da du momentan die GET-Variablen der Browserzeile nicht abrufst und somit sind sie im Skript auch nicht verfügbar.

PHP:
<?php
echo '<a href="?action=one">one</a><br><a href="?action=two&id=subtwo">two</a><br>';

// die GETs aus der Browserzeile holen.
$action = $_GET["action"];
$id = $_GET["id"];

if( isset($action)) {
  if ($action == "one") {
    include 'one.php';
  }

  if ($action == "two" && $id == "subtwo") {
    include 'test.php';
  }

  echo '<a href="?action=three">three</a><br>';
  if ($action == "three") {
    include 'three.php';
  }
}


?>

Dir ist schon klar, daß der dritte Link erst angezeigt wird, wenn du einen der anderen beiden einmal angeklickt hast?
 
eigentlich ging es auch ohne get :)
Danke, das ist ja mein Problem ich hab keine Ahnung wie es wie folgt organisieren soll.

Punkt 1
-Subpunkt 1
-Subpunkt 2
Punkt 2
-Subpunkt 1
-Subpunkt 2
Punkt 3
 
Oha mit was für einem PHP arbeitest du? Selbstinstalliert? Welches Betriebssystem?

Offensichtlich ist register_globals auf on gesetzt. Dies ist ein erhöhtes Sicherheitsrisiko, aber es erspart dir natürlich das $_GET und $_POST. Daher schreib mir mal in welcher Umgebung du PHP verwendest und ich schreib dir, wie man diese Sicherheitslücke stopfen kann.

Ich gehe davon aus, daß du die Subpunkte erst zeigen willst, wenn man den Hauptpunkt angewählt hat?
Dann wäre folgendes eine Möglichkeit:
PHP:
<?php
  $action = $_GET["action"];
  $id = $_GET["id"];

  //Das Menü erstellen
  echo '<a href="?action=one">one</a><br>';
  if (isset($action) and $action == "one") {
    echo '<a href="?action=one&id=subone">- Sub one</a><br/>';
    echo '<a href="?action=one&id=subtwo">- Sub two</a><br/>';
  }
  echo '<a href="?action=two&id=subtwo">two</a><br>';
  if (isset($action) and $action == "two") {
    echo '<a href="?action=two&id=subone">- Sub one</a><br/>';
    echo '<a href="?action=two&id=subtwo">- Sub two</a><br/>';
  }
  echo '<a href="?action=three">three</a><br>';
  if (isset($action) and $action == "three") {
    echo '<a href="?action=three&id=subone">- Sub one</a><br/>';
    echo '<a href="?action=three&id=subtwo">- Sub two</a><br/>';
  }

  if (isset($action)) {
    if ($action == "one") {
      if (isset($id) and $id == "subone") {
        include "one_subone.php";
      } else if (isset($id) and $id == "subtwo") {
        include "one_subtwo.php";
      } else {
        include 'one.php';
      }
    } else if ($action == "two") {
      if (isset($id) and $id == "subtwo") {
        include "two_subtwo.php";
      } else if (isset($id) and $id == "subtwo") {
        include "two_subtwo.php";
      } else {
        include 'two.php';
      }
    } else if ($action == "three") {
      if (isset($id) and $id == "subthree") {
        include "three_subthree.php";
      } else if (isset($id) and $id == "subthree") {
        include "three_subthree.php";
      } else {
        include 'three.php';
      }
    }  
  }
?>
 
Ich arbeite mit XAMPP hier lokal aufm Rechner.
Ja genau so ist es..
Hmm wieso bin ich da net selbst drauf gekommen, naja gestern war der Kopf wohl schon etwas leer vom Arbeitstag, aber vielen Dank für den Code
 
Zurück