Axel Richter: <form action=""> vs. PHP_SELF

Beitrag lesen

Hallo,

Mein Beitrag bezog sich u.a. auch auf H☼psels Ausführung.

Meine Frage war ja, warum Du meinst, dass eine URI-Angabe "#" besser (Hopsel sagt sicherer in der Funktion) wäre, als "". Beide verlassen sich auf den selben Mechanismus. Deshalb sind beide gleich gut oder schlecht. Browser, die mit einem klar kommen, müssten auch mit dem anderen klar kommen. Der einzige Unterschied ist, dass die Variante "#" später versucht einen Anker anzuspringen.

Die Variante "?" ist falsch, weil das Query-Fragezeichen nur in einer relativeURI oder einem hier_part vorkommen darf.
http://www.faqs.org/rfcs/rfc2396.html
relativeURI   = ( net_path | abs_path | rel_path ) [ "?" query ]
hier_part     = ( net_path | abs_path ) [ "?" query ]
Beide dürfen nicht leer sein. Eine URI darf also nicht _nur_ das Fragezeichen enthalten.

Für das sichere Funktionieren garantiert _keine_ der drei Varianten, weil es Browser geben kann, welche die base URI Regelung nicht korrekt umsetzen. Sicher ist also nur, mindestens eine wirkliche relativeURI anzugeben.

viele Grüße

Axel