kostenloser Webspace werbefrei: lima-city


URL zerlegen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    Hallo,

    ich schreibe derzeit ein kleines Portal.

    Dabei binde ich die PHP-Dateien über die URL ein, wenn man das so sagen kann.

    Ich habe meine index.php in der in Zeile X steht:

    ...
    $nav = getIndex();
    include($nav.".php");
    ...


    Die Funktion getIndex() macht nichts anderes, als die URL zu zerpflücken:

    preg_match_all("/nav=(.*)/", $_SERVER['REQUEST_URI'], $match);


    So jetzte habe ich aber ein kleines Problem.

    Und zwar wenn auf der Seite z.B. im Usermenü folgender Link aufgerufen werden soll:

    http://localhost/php/index.php?nav=usercenter&do=edit

    Dann ist es ja logisch, dass er mir als Ergebnis:

    nav=usercenter&do=edit

    liefert und das dann versucht einzubinden. Da in der Funktion allerdings überprüft wird, ob die Datei existiert, lande ich wieder auf der Startseite.

    RegEx blicke ich nicht wirklich... ich komm mit den ganzen [/^*+?] Zeichen da net klar...

    Auf den meisten Seiten stehen zwar die Ganzen Parameter und was sie machen, aber ich schaff es irgendwie nicht, mir da was produktives zusammen zu bauen.

    War schon froh, als das ganze klappt hat, dass er mir die Seite aus der URL liest.

    Kann mir da einer bei meinem Problem weiterhelfen bitte?

    Möcht als Ergebnis:

    Array
    (
    [0] => Array ( [0] => nav=usercenter )
    [1] => Array ( [0] => usercenter ) )
    [2] => Array ( [0] => do=edit ) )
    [3] => Array ( [0] => edit ) )
    )
    (wenn man die obere URL als Beispiel nimmt).

    Ich habe es selbst auch schon versucht...

    preg_match_all("/nav=(.*)?do=(.*)/", $_SERVER['REQUEST_URI'], $match);


    Aber das wäre auch zu schön gewesen, wenn das geklappt hat...

    Bin über jede Hilfe dankbar, auch über Links zu Seiten, auf denen das Ganze gut und deutlich erklärt wird!

    Vielen Dank!

    Gruß
    Skull
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Warum nicht einfach $_GET['nav']? $_GET['do']? :confused:


    Beitrag geändert: 4.11.2008 17:57:03 von tavern
  4. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    looooooooooool

    Vor lauter Funktionen habe ich an das garnimma gedacht und nicht mehr in betracht gezogen!

    Natürlich! Ist die einfachste und beste Methode! :)

    Vielen Dank fürs Öffnen der Augen!

    Gruß
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!