Zum Inhalt springen

Übergabe von Variablen


Empfohlene Beiträge

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? :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"

Link zu diesem Kommentar
Auf anderen Seiten teilen

"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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...