Mailinglisten-Archive |
Folgendes Script soll ein Menü erzeugen, welches die Ordner als Menüpunkte verwendet. Beim ersten Drop-Down Menü funktioniert dies auch noch, doch beim 2. Untermenü werden keine Menüpunkte erzeugt, außerdem werden alle vorherigen Eingaben resetet. Ich nehme an, dass es mit der POST Methode und dem PHP_SELF zusammenhängt, habe aber noch nicht genug Erfahrung um es bestimmt sagen zu können. Das Verzeichnis in dem das Script ausgeführt wird muss verschiedene Unterverzeichnisse haben damit Menüpunkte generiert werden können. <?php $sublevel0 = "./menu/"; //In dem Verzeichnis des Scripts muss ein Unterverzeichnis /menu existieren $dirHandle1 = opendir($sublevel0); echo "<form action=\"$PHP_SELF\" method=\"post\">"; echo "<select name=\"popup1\" id=\"popup1\">"; while($v = readdir($dirHandle1)) { if ($v!="." && $v!="..") { echo "<option value=\"$v\">$v</option>\n"; } } closedir($dirHandle1); echo "</select>"; echo "<input type=\"hidden\" name=\"lev0\" value=\"$lev0\">"; echo "<input type=submit value=\"Ok\">"; echo "</form>"; //Beginn erstes Untermenü $sublevel1 = "./menu/".$popup1; //Untermenüverzeichnis setzt sich aus //dem vorherigen und einem in dem Dropdown-Menü gewählten zusammen $dirHandle2 = opendir($sublevel1); echo "<form action=\"$PHP_SELF\" method=\"post\">"; echo "<select name=\"popup2\" id=\"popup2\">"; while($w = readdir($dirHandle2)) { if ($w!="." && $w!="..") { echo "<option value=\"$w\">$w</option>\n"; } } closedir($dirHandle2); echo "</select>"; echo "<input type=\"hidden\" name=\"lev1\" value=\"$lev1\">"; echo "<input type=submit value=\"Ok\">"; echo "</form>"; //Beginn zweites Untermenü $sublevel2 = "./menu/".$popup1.$popup2; //setzt sich aus den vorher //gewählten Menüpunkten zusammen $dirHandle3 = opendir($sublevel2); echo "<form action=\"$PHP_SELF\" method=\"post\">"; echo "<select name=\"popup3\" id=\"popup3\">"; while($x = readdir($dirHandle3)) { if ($x!="." && $x!="..") { echo "<option value=\"$x\">$x</option>\n"; //hier werden keine Menüpunkte erzeugt.... woran liegt das? } } closedir($dirHandle3); echo "</select>"; echo "<input type=\"hidden\" name=\"lev2\" value=\"$lev2\">"; echo "<input type=submit value=\"Ok\">"; echo "</form>"; ?>
php::bar PHP Wiki - Listenarchive