was ist PHP_SELF?

Na gut, ich werde es wegen dem Gruppenzwang verwenden ;)
Aber verstanden habe ich es trotzdem noch nicht. Du meinst, wenn ich meine index.php wo anders einbinden möchte? Das hat doch dann auch nix mehr mit PHP_SELF zu tun, da muss ich ja dann sowieso den Pfad zu dieser index.php eintragen, und diesen Eintrag ändern, wenn sich bei den Pfaden etwas ändert.
 
Falsch.

<form> steht in der /vote/vote.php
Verarbeitung ist ebenfalls dort.

Included wirds sie aber von der /index.php

In deinem Fall kommt man nach dem Submit-Klick auf die vote.php, die es im Root gar nicht gibt.
Gibt man den Pfad mit an, also action="vote/vote.php", kommt man zwar auf die Datei an, aber da wollte man ja nicht hin, jetzt ist der Seitenaufbau weg.

Die Lösung lautet _SERVER['PHP_SELF'] :-)
 
Vielleicht hilft ja ein anderer Ansatz:

also ich schreibe ein Skript (z.B. mit Formular) das ich heute als index.php abspeichere. Morgen will ein Kunde von mir ein ganz ähnliches Formular haben, so dass ich meines fix auf seine Wünsche anpasse.

Leider findet der Kunde den Dateinamen nicht gut und speichert das Skript unter "formular.php" auf seinen Webserver. Jetzt bekomme ich dauernd nervige Anrufe, dass mein Skript nicht ordentlich funktioniert :-(

Seitdem verwende ich immer $_SERVER['PHP_SELF'] für meine Skripte und niemand ruft mehr an ;-)

Gruß Marian
 
AAAAAAAAAHHHH
*BLITZ*
Ich habs kapiert! :eek: :)

Also es geht darum: ich hab die index.php, mach ein include "page.php".
In page.php steht ein form action, das logsichweise wieder auf index.php verweist. Nur index.php und page.php müssen nicht im selben Verzeichnis liegen, und wenn man dann eine Datei verschiebt, wird die andere nicht mehr gefunden! Richtig?

Aber ein Problem gibts bei der Sache ja trotzdem, wenn sich der Pfad einer Datei verschiebt: ich muss das include trotzdem händisch ändern.
 
Zuletzt bearbeitet:
Miraculixx hat gesagt.:
AAAAAAAAAHHHH
*BLITZ*
Ich habs kapiert! :eek: :)
Gut, dafür sind wir ja da. :)

Miraculixx hat gesagt.:
Also es geht darum: ich hab die index.php, mach ein include "page.php".
In page.php steht ein form action, das logsichweise wieder auf index.php verweist. Nur index.php und page.php müssen nicht im selben Verzeichnis liegen, und wenn man dann eine Datei verschiebt, wird die andere nicht mehr gefunden! Richtig?
Nach dreimaligen Lesens dieses Satzes geb ich dir mal pauschal Recht ;)

Miraculixx hat gesagt.:
Aber ein Problem gibts bei der Sache ja trotzdem, wenn sich der Pfad einer Datei verschiebt: ich muss das include trotzdem händisch ändern.
Ja, den Includepfad. Aber nicht mehr den <form>-Tag, wenn in diesem PHP_SELF steht.
 
OK, alles klar, vielen Dank.

Und soll man das auch bei einem link wie zum beispiel
http://cnweb/lf/admin/index.php?view=1
verwenden? Also mit der GET-variable hinten? Dass dann da stehen würde:
PHP:
echo "<a href=".$PHP_SELF."?view=1>link</a>";
 
Also wenn du von der index.php auf sich selber verlinkst und nur was mitübergibst hätte ich das so gemacht:
PHP:
echo('<a href="?view=1">link</a>');
Um jetzt für völlige Verwirrung zu stiften ;)
 
Zurück