PHP: Lösung für Problem mit "include"-Befehl


Seite: 1 2
Autor Beitrag
Lucky-Luke
12.02.12 - 13:35:28 Uhr

Hallo liebe Pytal-Community,

wenn man in einer PHP-Datei eine andere PHP-Datei mit "include("datei.php?name=Fritz");" einbinden möchte, erhält man eine Fehlermeldung.

Die Lösung für dieses Problem ist recht einfach. Man muss einfach vor dem "include"-Befehl die "GET"-Befehle programmieren. Die Lösung für das Beispiel oben würde lauten:

  1. <?php  
  2. $_GET['name'] = "Fritz";  
  3. include("index.php");  
  4. ?>  


Wenn man den Code z.B. in der Datei "Fritz.php" abspeichert und auf dem Server aufruft, bindet er die Datei "index.php?name=Fritz" ein.

Man kann auch mehrere "GET"-Befehle vor dem "include"-Befehl programmieren.

  1. <?php  
  2. $_GET['name'] = "Fritz";  
  3. $_GET['alter'] = "15";  
  4. include("index.php");  
  5. ?>  


Dieser Code würde die Datei "index.php?name=Fritz&alter=15" einbinden.

So, ich hoffe ich konnte euch helfen.

Viele Grüße

Lucky-Luke
SammysHP
12.02.12 - 13:52:45 Uhr

Autsch.

http://tut.php-quake.net/de/


PS: Eine Datei "index.php?name=Fritz&alter=15" gibt es nicht. Es gibt lediglich eine Datei "index.php", welche GET-Parameter auswertet. So etwas - mir fehlt das Wort - wie das hier, habe ich noch nie gesehen.

_________________
www.sammyshp.de
Achtzig
12.02.12 - 14:20:22 Uhr

Auch wenn das Ganze sehr abwegig ist und kurios erscheint, habe ich das doch direkt mal ausprobiert. Also tatsächlich eine Datei namens "index.php?name=Fritz&alter=15" erstellt und versucht, sie auf die oben genannte Art und Weise einzubinden. Erwartungsgemäß funktioniert es nicht.

test.php bindet dann natürlich die "index.php" ein und nicht die Datei "index.php?name=Fritz&alter=15"

test.php
index.php
index.php?name=Fritz&alter=15

Aber ein Versuch war es mir wert

Wie kommst Du eigentlich darauf, daß es funktionieren würde?
Lucky-Luke
12.02.12 - 14:26:21 Uhr

Ich meinte natürlich, dass man die Datei "index.php" einbindet mit den GET-Parametern "name=Fritz&alter=15"

Viele Grüße

Lucky-Luke
SammysHP
12.02.12 - 14:44:17 Uhr

Ja, aber man bindet die Datei ein und setzt vorher die GET-Parameter manuell. Das funktioniert, jedoch sehe ich absolut keinen Sinn darin, da dieses Programmierprinzip nur fehleranfällig sein kann.

_________________
www.sammyshp.de
Lucky-Luke
12.02.12 - 15:56:09 Uhr

Wie würdest du dann dieses Problem lösen?

Viele Grüße

Lucky-Luke
SammysHP
12.02.12 - 18:46:28 Uhr

Sagte ich oben schon: http://tut.php-quake.net/de/

Wenn man eine Datei einbindet und zuvor GET oder POST Parameter ändern muss, ist eindeutig was falsch gelaufen.

_________________
www.sammyshp.de
Lucky-Luke
13.02.12 - 16:49:02 Uhr

Ich meine, wenn du in die erste PHP-Datei die "1.php" heißt, eine zweite PHP-Datei die "2.php" heißt einbinden willst. Bei der zweiten PHP-Datei sind verschiedene "GET"-Befehle wie z.B. "Fritz" definiert. in der ersten Datei möchtest du jetzt aber "2.php?Fritz" einbinden (Also der Inhalt, welcher bei der zweiten Datei nach dem "GET"-Befehl "Fritz" steht). Wenn man dies [include("2.php?Fritz");] so machen würde, würde man eine Fehlermeldung erhalten. Deshalb definiert man vor dem "include"-Befehl die "GET"-Variable "Fritz" und schreibt darunter den "include"-Befehl. Dann wird später in der ersten PHP-Datei der Inhalt, der nach der "GET"-Variable "Fritz" steht, eingebunden.

Ich hoffe, dass du jetzt verstehst, was ich meine!

Viele Grüße

Lucky-Luke

PS: Code für die erste PHP Datei wäre:

  1.  
  2. <?php  
  3. $_GET['fritz'] = "Inhalt von Fritz";  
  4. include("2.php");  
  5. ?>  
  6.  


(Dieser Code würde folgenden Inhalt einbinden: "w.php?fritz=Inhalt von Fritz"
SammysHP
13.02.12 - 16:55:25 Uhr

Mir ist schon absolut klar, was du meinst, aber du scheinst die Grundprinzipien vom Programmieren noch nicht verstanden zu haben.

Ich rate jedem ab, das von dir beschriebene Prinzip anzuwenden.

_________________
www.sammyshp.de
Lucky-Luke
13.02.12 - 18:01:19 Uhr

OK, wenn du das meinst.

Viele Grüße

Lucky-Luke
Seite: 1 2

- Obige Beiträge stellen keine Äußerung oder Meinung von Pytal oder dessen Betreiber dar -