sunnyw86 Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Hi, 1 Problem: Ich will einen Pfad zu meinem Ordner angeben: $dir_gross= "bilder/", $_GET["kat"], "/", $_GET["name"], "/gross/"; [/PHP] Wenn ich es Ausgaben lasse, stimmt der Pfad, aber anscheinend kann ich einer Variable nicht solche ein Pfad übergeben. [u]2.Problem[/u] Ich möchte einer Seite eine Variable übergeben: [PHP] <a href= profilBearb.php?name=$nickName>Profil</a> Wenn ich nickName ausgeben lasse, hat er den richtigen Wert, aber diese Syntax scheint falsch zu sein. Kann mir jemand helfen? Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Hi, 1 Problem: Ich will einen Pfad zu meinem Ordner angeben: $dir_gross= "bilder/", $_GET["kat"], "/", $_GET["name"], "/gross/"; [/PHP] Wenn ich es Ausgaben lasse, stimmt der Pfad, aber anscheinend kann ich einer Variable nicht solche ein Pfad übergeben. [/Quote] *Alarlmglocken ausdreh* Erstmal: Stringverkettung geht mit "." nicht mit "," Aber viel wichtiger: Sowas solltest du [b]nie[/b] einfach so ungeprüft über Parameter übergeben! Egal ob GET, POST oder COOKIE. Regel Nummer 1: Alles was vom User kommt ist [b]böse[/b]! Mit sowas öffnest du die Tore für alle möglichen Sicherheitslücken. Ich kenn deine genaue Aufgabenstellung nicht, aber wenn du es schon über Parameter machst, dann mach da ne sehr genaue Prüfung dazu. $_GET["name"] Je nach dem was du da als Name stehen hast, ist das absolut korrekt. Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Hi, danke für deine Antwort. Keine Angst, vorher wird richtig überprüft, bevor ich was übergebe. Das erste funktioniert jetzt, jedoch das zweite Problem ist immer noch da Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Also wie ich eben schon erwähnt habe funktioniert Punkt 1 jetzt. $dir_gross= "bilder/". $_GET["kat"]. "/" .$_GET["name"]."/gross/"; [/PHP] Diesen Pfad will ich aber mit opendir() öffnen: [PHP] $handle=opendir($dir_gross); Das funktioniert nicht, er gibt den Pfad nicht mehr korrekt an sonder: bilder///gross/ Wenn ich aber als Test dir_gross ausgebe: echo "$dir_gross"; [/PHP] ist es der richitige Pfad. Woran liegt das? Wie gesagt, dass zweite Problem habe ich immer noch. Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Probier mal folgendes: <?php error_reporting(E_ALL); $dir_gross= "bilder/". $_GET["kat"]. "/" .$_GET["name"]."/gross/"; echo $dir_gross."\n\n"; if ($handle = opendir($dir_gross)) { echo "Ok\n"; } else { echo "Fehler: $dir_gross\n"; } ?> [/php] und beim zweiten Problem: Was genau geht denn da schief? Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Also zu Problem 1: Es gibt keinen Fehler. Aber wenn ich es mit opendir() öffnen will steht nur bilder///gross/. Vorher habe ich es mal ausgegeben und der Pfad war ok. (bilder/auto/scirocco/gross/). Also muss es an der funktion liegen, aber warum weiß ich nicht. echo "$dir_gross"; //Ausgabe: bilder/auto/scirocco/gross/ $handle=opendir($dir_gross); //Ausgabe: bilder///gross/ [/PHP] Zu Problem 2: Ich will der Seite profilBearb.php die Variable Nicknamen mitgeben. (z.B.: Admin). Habe vorher auch getestet ob nickNamen den richtigen Wert hat und das hat er. [PHP] <a href= profilBearb.php?name=$nickName>Profil</a> Wenn ich die Seite öffne, steht aber im URL nur: "http://localhost/profilBearb.php?name=$nickName " und nicht so wie es sein soll: "url=http://localhost/profilBearb.php?name=admin" Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Also zu Problem 1: Es gibt keinen Fehler. Und wie is die Ausgabe? Deswegen solltest du das ja machen, einfach die Ausgaben die mein Script macht mal kopieren. EDIT: Kopier am besten mal dein Script... kann mir das nämlich nicht vorstellen, dass das so ist... bzw den entscheidenden Teil vielleicht weil du kein echo $nickName gemacht hast? Oder du hast den String in einfachen '? php ersetzt Variablen in Strings nur, wenn sie in doppelten', also ", stehen bei der Ausgabe. Ach ja, natürlich kannst du Variablen auch einfach so ohne "" ausgeben (echo $dir_gross; ), aber wenn du die ohne Verkettung in einen String schreibst, muss der String in "" stehen. Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 1. Ausgabe des Scripts: "bilder/cars/scirocco/gross/ Ok " Er gibt das schon richtig aus, deswegen mein Verdacht das es an opendir() liegen könnte. Das ist meine Übergabe an die Variable $dir_gross: $dir_gross= "bilder/". $_GET["kat"]. "/" .$_GET["name"]."/gross/"; Danach lass ich es zum Test ausgeben: echo "$dir_gross"; //Pfad OK [/PHP] Aber beim Öffnen ist der Pfad falsch: [PHP]$handle=opendir($dir_gross); //gibt nur "bilder///gross aus" 2.Also hier erfolgt die Übergabe an $nickName: echo $_SESSION['user_name']; $nickName= $_SESSION['user_name']; echo "$nickName"; //richtige Ausgabe z.b.: admin [/PHP] Danach möchte ich es der Datei weitergeben: [PHP]<a href= profilBearb.php?name=$nickName>Profil</a> Jedoch sieht beim Starten der Seite die url so aus: "http://localhost//profilBearb.php?name=$nickName" und nicht: "http://localhost//profilBearb.php?name=admin" Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 "bilder/cars/scirocco/gross/ Ok " Er gibt das schon richtig aus, deswegen mein Verdacht das es an opendir() liegen könnte. ... Aber beim Öffnen ist der Pfad falsch: $handle=opendir($dir_gross); //gibt nur "bilder///gross aus" also mein Sciprt prüft doch, ob opendir korrekt abgelaufen ist... wenn ja gibt es Ok aus, so wie bei dir. Was ist denn dann dein Problem?opendir macht selber keine Ausgabe, also kann $handle=opendir($dir_gross); nicht irgendwas falsches ausgeben... <a href= profilBearb.php?name=$nickName>Profil</a> ist dein ganzer PHP-Code? Oder steht das gar nicht mehr als PHP-Code da? Merke, nur weil eine Datei die Endung .php hat, ist es noch lange keine PHP-Datei Nur der Code zwischen den php-Tags wird als PHP ausgewertet. Und bei dir scheint das ja nicht der Fall zu sein... Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Doch doch..also ich habe es jetzt hinbekommen das der korekte Ordner geöffnet wird. Aber warum der Name nicht übergeben wird weiß ich nicht. Ich such weiter... Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Aber warum der Name nicht übergeben wird weiß ich nicht. Ich such weiter... Wie ist denn der Code, wo der Name ausgegeben werden soll (im Link)? Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Hier wo ich es ausgebe: echo "Nick: ", $_GET["name"]; [/PHP] Aber er kann mir ja auch nur nickName ausgeben, da es im URL ja auch so steht. Also muss die Übergabe falsch sein. Zitieren
geloescht_JesterDay Geschrieben 20. Juni 2007 Geschrieben 20. Juni 2007 Hier wo ich es ausgebe: echo "Nick: ", $_GET["name"]; [/PHP] [/Quote] Da kommt dann Zitieren
sunnyw86 Geschrieben 20. Juni 2007 Autor Geschrieben 20. Juni 2007 Sorry hatte vergessen zu schreiben. Funktioniert alles!!! Vielen Dank, dass du dir so eine Mühe mit mir gemacht hast Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.