• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

$php_self oder nicht?

Sisko

New member
hi,

ich habe eine Startseite, in welche ich mehrere Scripte include. Nun habe ich ein Form Script...welches auf jeder Seite auf der linken Seite eingeblenndet wird...

Nun meine Frage, was soll ich als Form action setzen? Den Script name selber, welches included wird, also in diesem Fall form.php oder aber $php_self ? Was mich nur gewundert hatte, wenn ich $php_self setze, dann wird, wenn ich auf der index seite bin index.php dafuer eingesetzt, wenn ich auf der spiele seite bin, spiele.php - was ist denn nun richtig in meinem Fall?
den Datei Namen festlegen oder dynamisch? Ich meine das Form Script ist so eine Art Template, also es erscheint immer, auf jeder Seite...

Mir geht es nur um ein Sicherheitsrisiko oder so...weil es funktiniert beides, wie ich das burteilen kann...warum ist das so?
 
slightly verwirrt

Ich weiss nicht genau was du eigentlich mit form.php bezweckst. Aber wieso rufst du es nicht direkt auf, verarbeitest die Eingaben und machst dann noch xyz mit dem User...

Vielleicht hilft dir aber auch das:
PHP:
action="<? echo $PHP_SELF."?lade_form=tu_es; ?>
Dann kann die PHP_SELF Seite ja so eingestellt sein, dass es bei $lade_form form.php verarbeitet, die Ausgabe abfängt und ausgibt.

Ehrlich es ist viel einfacher dir zu antworten, wenn Du möglichst genau schreibst worum es geht!
*beep*need*more*input*beep*

Ade
Guido
 
Hallo!

Da die Datei form.php includet wird ist $PHP_SELF immer die Datei, die die form.php includet; d.h wenn du auf spiele.php ein include("form.php"); machst und in der form.php unter action 'action="<?echo $PHP_SELF?>"' stehen hast steht da drin dann 'action="spiele.php"'.

Alles was nun zu tun ist, ist die Abfrage bzw. Verarbeitung des Formulars auch noch in die form.php mitreinzunehmen dann ist die Sache auf jeder Seite funktionsfähig.

Wegen Sicherheit, weiß ich nicht was du meinst.
 
fragen ueber fragen, die mich queallen

danke an euch beide :)

was eigentlich meine Frage war, ob es egal ist wie ich das loese oder nicht...
Ich dachte mir, wenn alle dateien, in welche das Script form.php im gleichen Verzeichnis liegen muesste es doch egal sein oder?

Aber wenn nun manche dateien einen Ordner hoeher liegen, muesste ich den Pfad anpassen, also ../form.php oder so, eben den Weg zur form.php datei, richtig?
Und wenn ich den $php_self Befehl benutze brauche ich mir darum keine Sorgen zu machen?

Oder wie denn nun?

Mit der Sicherheit das meinte ich z.B> so: wenn jemand nun mein Script in seine Site includen wuerde und das Script wuerde $php_self verwenden, wuerde es vieleicht nicht gehen, aber wenn ich direkt form.php in den Form Tag schreibe wuerde es vielicht gehen...
 
Ich bin auch reichlich verwirrt derzeit, vielleicht hilft das hier ein wenig zur Klärung...

$PHP_SELF = Pfad + Dateinname ohne Domainame soweit ich weiss.

Verzeichnisstruktur folgende:

/test/index.php
/test/index_frame_set.php

/test2/includes/conf.php
/test2/includes/bla.php
/test2/includes/blub.php

in der index.php sind die drei Dateien aus dem Verzeichnis /test2/includes/ reingeholt mit

include("../test2/includes/....");

Wenn nun in der Datei conf.php $PHP_SELF verwendet wird, lautet die Ausgabe: /test/index.php :)

Wenn du das gleiche mit der Datei index_frame_set.php machst, ergibt die Ausgabe von $PHP_SELF /test/index_frame_set.php

Alles soweit richtig?

Wenn du es selber ausprobieren möchtest, für einfach ein

echo $PHP_SELF;

ein und probiere damit verschiedene includes und Verzeichnistiefen aus.

Ich persönlich verwende meistens $PHP_SELF oder eine selbstdefinierte Variable mit den Pfadangaben, das macht spätere Änderungen leichter da diese Angaben zentral in einer datei gesammelt werden können.
 
Zurück
Oben