Wenn Sie ein Formular zurück zu sich selbst mit PHP zu veröffentlichen, die Code besser zu nutzen:Welche der beiden PHP-Codes ist besser
PHP_SELF or REQUEST_URI?
Wenn Sie ein Formular zurück zu sich selbst mit PHP zu veröffentlichen, die Code besser zu nutzen:Welche der beiden PHP-Codes ist besser
PHP_SELF or REQUEST_URI?
keines von beiden. verwenden diese:
<form action=''>
, die nichts in einigen Browsern tun (ältere Operas , Ich denke). Nein, nein, nichts. "Action = '?" Wird aber gut funktionieren. – Piskvor
Ich würde argumentieren, dass es am besten ist, immer absolute URLs zu verwenden. Weder '$ _SERVER [" REQUEST_URI "];' oder '$ _SERVER [" PHP_SELF "];' helfen Ihnen dabei. – Halcyon
@Piskvor Könnte auch herausfinden, wie man es mit Netscape kompatibel macht. lol ** rollt die Augen ** –
Abhängig von der Serversoftware verwenden REQUEST_URI unter Linux und PHP_SELF unter Windows dann für die Geschwindigkeit. Quelle: http://sniptools.com/vault/php_self-getenv-request_uri-or-script_name
REQUEST_URI
ist alles auf der rechten Seite des Domain-Namens in einer URL, also, wenn Ihre URL ist: http://example.org/funny/form.php
, dann REQUEST_URI
wird „/funny/form.php“
Dies ist, was Sie wollen zu tun:
<form action="<?php echo($_SERVER['REQUEST_URI']); ?>">
</form>
Dies wird die Form auf die gleiche URL senden, wie der Besucher an ist.
Hinweis: Bei GET-Anfragen machen, die auch Variablen in REQUEST_URI bekommen sind. Also, wenn Ihr URL lautet: http://example.org/funny/form.php?name=obama
, dann wird REQUEST_URI
„/funny/form.php?name=obama“ sein, das ist nicht das, was Sie in Ihrem Formularelement als action-Attribut sollen. Dies ist kein Problem, wenn Sie eine POST-Anfrage verwenden. Wenn Sie GET-Requests verwenden, müssen Sie REQUEST_URI am Fragezeichen abschneiden.
Ich würde empfehlen, die vollständige URL verwenden, so REQUEST_URI
verwenden und eine Funktion schreiben, eine der vollständige URL zu erzeugen und in das Formular ein. Eine Alternative wäre, ""
zu verwenden, um die aktuelle Seite zu übermitteln.
Sie müssten nicht PHP_SELF
verwenden, aber wenn Sie dies tun, beachten Sie bitte die dangers.
Besser für was zu verwenden? – j08691
Sie sind zwei verschiedene Dinge. '$ _SERVER [ "REQUEST_URI"];' ist der Antrag uri wie '/ question/123' und' $ _SERVER [ "PHP_SELF"]; 'der Pfad zu dem Skript ist der Webserver wie'/classes/Infrage endet/Qetion.inc'. Wenn Sie nicht sind jede Umschreiben sie gleich sind, aber wenn Sie sind dann völlig hängt es davon ab, welche Sie wollen .. – Halcyon
so, wenn Sie zurück zu Ihrem eigenen Seite zu navigieren ist es besser, die URL oder den Pfad zur Skript retriving? – user1292857