Aktivieren von $_GET in codeigniter
Ich habe versucht, herauszufinden, wie zu aktivieren, $_GET in CI.
Scheint es, den Rahmen absichtlich zerstört das $_GET-array, und dass die Aktivierung erfordert es ernsthaft tinkering mit der Kern-Klassen. kann mir jemand sagen, warum das so ist, und wie es zu überwinden?
wohlgemerkt, ich bin auf der Suche zu halten, URI-parsing und routing, wie Sie sind, einfach die $_GET zur Verfügung.
warum willst du auf $_GET-Variablen, wenn Sie verwenden können, neu geschrieben und URLs, um das gleiche Ziel zu erreichen in CodeIgniter?
naja, der einzige Grund, den ich akzeptieren würde, mir wäre die Unterstützung von legacy-URLs. ich habe einen Kunden, der möchte sehr viel zu bewegen, um friendly-URLs, besteht die Möglichkeit, re-Ihre "spaghetti-code" website mit einem Rahmen, aber codeigniter wird nicht zulassen, dass Ihre neue Website zur Unterstützung von mehreren zehntausend (!) eingehende links zu verschiedenen Artikeln, die Sie verstehen, warum dies nicht akzeptabel ist 🙂
Die neue Lösung ist die Verwendung von CodeIgniter Reactor, unterstützt die HOLEN richtig aus der box .
naja, der einzige Grund, den ich akzeptieren würde, mir wäre die Unterstützung von legacy-URLs. ich habe einen Kunden, der möchte sehr viel zu bewegen, um friendly-URLs, besteht die Möglichkeit, re-Ihre "spaghetti-code" website mit einem Rahmen, aber codeigniter wird nicht zulassen, dass Ihre neue Website zur Unterstützung von mehreren zehntausend (!) eingehende links zu verschiedenen Artikeln, die Sie verstehen, warum dies nicht akzeptabel ist 🙂
Die neue Lösung ist die Verwendung von CodeIgniter Reactor, unterstützt die HOLEN richtig aus der box .
InformationsquelleAutor Nir Gavish | 2010-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die folgende Bibliothek für Ihre Anwendung in Bibliotheken. Es überschreibt das Verhalten der Standard-Bibliothek von clearing das $_GET-array. Es ermöglicht die Mischung von URI-Segmente und der query-string.
application/libraries/MY_Input.php
Es ist auch notwendig, ändern Sie einige Konfigurationseinstellungen. Die uri_protocol Einstellung muss geändert werden, PATH_INFO und die '? ' - Zeichen Hinzugefügt werden muss, um die Liste der zulässigen Zeichen in der URI.
application/config/config.php
Ist es dann möglich, auf die übergebenen Werte über den query-string.
Als ob CodeIgniter 2.x, $this->allow_get_array ist jetzt $this->_allow_get_array .
In CodeIgniter 2.x ich verstehe nicht, warum würden Sie brauchen, um diese Methode zu verwenden, da in 2.x
$_GET
Parameter sind standardmäßig aktiviert. Aus config.php in CodeIgniter 2.x: "standardmäßig CodeIgniter ermöglicht den Zugriff auf das $_GET-array. Wenn aus irgendeinem Grund Sie möchten, um es zu deaktivieren, stellen Sie "allow_get_array' auf FALSE."Vielen Dank speichern meine zu viel Zeit greattt.......
InformationsquelleAutor Stephen Curran
Aus der CodeIgniter - Handbuch über Sicherheit:
Lesen dieses Forums-Beitrag für mögliche Lösungen (wird interessant, aus den auf halbem Weg unten Seite 1).
Ich war es nicht :-S
InformationsquelleAutor Gordon
Habe ich nicht genug Ruf zu kommentieren, aber Phil Sturgeon ' s Antwort oben ist der Weg zu gehen, wenn das Umschalten auf Codeigniter Reactor ist einfach für Sie.
Können Sie Zugriff auf query-string durch die Benutzung von $_GET oder $this->Eingang->get (), ohne dass MY_Input überschreiben oder verändern der config.php Datei.
InformationsquelleAutor David Xia
Hatte ich Erfolg mit dieser einzigen Zeile in meinem controller. Es ist im Grunde reparses die request-URL, ohne sich auf eine spezielle CodeIgniter Einstellungen:
parse_str(array_pop(explode('?',$_SERVER['REQUEST_URI'],2)),$_GET);
InformationsquelleAutor Andreas Gohr
Auf dem server, ohne
PATH_INFO
(genau wie ich) versuchen, diese:Können Sie es einfach wie diese:
InformationsquelleAutor matriphe
Nie benutzt $_GET mit CI, besser zu ändern, script Logik zu verwenden, POST oder $this->uri->segment() , dann auf aktiv $_GET-params für mich
InformationsquelleAutor itsme
Aus der post: CodeIgniter-PHP - Framework Brauchen, um die Abfrage-Zeichenfolge
Hier ein voll funktionsfähiges Beispiel, wie Abfragezeichenfolgen in Codeignitor, wie auf JROX-Plattform. Einfach fügen Sie diese zu Ihrem config.php die Datei befindet sich unter:
Dann können Sie einfach die Abfragezeichenfolgen wie gewohnt mit $_GET oder der Klasse unter
Hier ist der code, damit es alle arbeiten:
Genießen 🙂
InformationsquelleAutor Rob Vanders