Punkt im Variablennamen
Ich bin übergeben Sie die variable mit Punkt in der Abfrage string.Php ersetzt den Punkt mit dem unter score. Also, wie kann ich behalten Sie den Namen der Variablen, die mit Punkt im Namen
http://localhost/sample.php?one.txt=on&zwei.txt=auf
sample.php
$ret=$_REQUEST['one.txt'];//funktioniert Nicht
- Nicht setzen Punkte in Ihren Variablennamen.
- Was ist, wenn Sie einfach versuchen, eine Integration mit OpenID, die Orte Punkte in Ihre Abfrage Parameter?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund PHP ist konvertieren Sie Ihre Variablennamen aus
one.txt
inone_txt
ist, denn Punkte sind keine gültigen Variablennamen.Für mehr Informationen, schau dir die In der PHP-Dokumentation:
Können Sie entweder für den account ändern (
.
zu_
) und überprüfen Sie für$_REQUEST['one_txt']
oder Sie können Ihre HTML-Formular übergeben Sie einen gültigen Variablennamen statt.Edit:
Folgen-bis auf Michael Borgwardt Kommentar, hier ist der text aus Der PHP-Dokumentation über den Umgang mit Variablen, die aus externen Quellen:
Es ist in der Tat eine PHP-spezifische Sache.
Benutzen $_SERVER['QUERY_STRING']
Ergebnis für dein Beispiel
Array ( [one.txt] => auf [two.txt] => auf )
PHP-Entwickler implementiert diese um Unterstützung register_globals (), aber wenn Sie hatte angehalten für mehr als eine Sekunde zu Bedenken, dann hätten Sie wechselt nur die Namen importiert, um die Globale variable namespace, nicht in $_POST selbst. Gibt es weniger als keinen Grund für die änderung der request-Variablen selbst... naja, andere als die von PHP unfähig Umgang mit standard-Formular.
Hier ist die Lösung für die POST-Variablen als auch, was ist wohl schwieriger für mehr Benutzer als die GET-Lösung: