dedlfix: urlencode / decode

Beitrag lesen

Hi!

unset($path_array);
$path_array = array();
$path_array = explode('/', urldecode($_GET["path"]));

Diese ersten beiden Zeilen sind überflüssig. Solange der Delimiter ('/' in deinem Fall) nicht leer ist, erzeugt explode() immer ein Array und die Variable wird auch immer angelegt oder komplett überschrieben.

Wenn ich nun die URI auslese und nach "/" explode wird allerdings nur "Tipps" ausgegeben und nicht "Tipps & Tricks":

Dein geposteter Code enthält keinerlei Ausgabe, ist also nicht nachvollziehbar.

if ($path_array[count($path_array)-1] == "")
array_pop($path_array);

Wenn du überflüssige, leere Felder entfernen möchtest, so ist es einfacher, die äußeren '/' mittels trim() zu entfernen, bevor du explodierst.

Kann mir jemand sagen, woran das liegt?

Was steht wirklich in $_GET["path"]? Bitte mit var_dump() nachschauen, und wenn das vollständig ist, wie sieht deine Ausgabe aus. Dort bitte auch in die Quelltextansicht des Browsers schauen.

Lo!