avascript verändert Get-Daten die übergeben werden sollen

Flo<H>

Erfahrenes Mitglied
Hallo!
Vorweg erstmal, dass ich sehr wenig Ahnung von Javascript habe.
Hatte heute folgendes Problem:
Per PHP-Script wird ein Ordner ausgelesen und alle Ordner darin werden aufgelistet zusammen mit einem Link durch den man den jeweiligen Ordner löschen kann.
Um die Ordner zu löschen dachte ich an ein Fenster dass per Javascript aufgerufen wird und in dem ein anderes PHP-Script läuft. Problem bei der Sache war, wie ich den Ordnernamen übergebe. Da mein Arbeitsverzeichnis variabel ist musste ich bei dem Link den Pfad für den Ordner absolut angeben.Deshalb sah mein erster Versuch soaus:

Code:
<a href=\"#\" title=\"Löschen\" onClick=\"window.open('./dir_delete.php?directory=".getcwd()."/".$dir[$i]."',...')\">Ordner</a>

Dabei wurden aber von dem Pfad der durch getcwd() erzeugt wurde sämtliche Backslashes entfernt:
Statt C:\minixamp\htdocs/test
wurde: C:minixamphtdocs/test
übergeben.

Also hab ich den Link ein wenig umgebaut:

Code:
<a href=\"#\" title=\"Löschen\" onClick=\"window.open('./dir_delete.php?directory=".urlencode(getcwd()."/".$dir[$i])."','...')\">Ordner</a>

Nun wird die URL richtig übergeben.

Meine Frage ist jetzt, warum bei der ersten Variante meine Backslashes entfernt wurden?
 
Das mag ja sein,trotzdem müsstest du sie mal posten.

Soviel ist aber schon mal klar...ein Backslash hat im Query-String nicht zu suchen.... somit ist deine Lösung mit urlencode() gut....(auch wenn das nicht die Antwort auf deine Frage ist).

Abgesehen davon... das Backslash dient auch in Javascript zum escapen... dort wird der Fehler wahrscheinlich liegen.
 

Neue Beiträge

Zurück