2017-04-02 8 views
0

ich eine Website haben, die Variablen mit GET Methode wird (annehmen, dass es mit Eigenschaften wie http://example.com/test.php?id=Apple erwiderung Eigenschaften von Apple zurück), und es verwendet $_GET['id'] Globale Variable in PHP angeforderten ID abzurufen.

Problem ist, wenn ich an dieser Stelle

http://example.com/test.php?id=<<<Apple>>> 

es einfach nicht funktioniert, navigieren, da $GET['id'] leer. Warum ?

Ich muss GET verwenden, weil ich es mit den Kunden teilen werde und sie können es ändern, was sie wollen. Wenn ich nicht GET verwenden kann, was sind meine Optionen?

PHP-Datei:

test.php

echo $ _GET [ 'id'];

+0

aktualisiert nach Wunsch –

Antwort

0

$ _GET [ ‚id‘] ist leer, weil jedes Mal, wenn Sie & Zeichen setzen ist, wie Sie einen anderen Parameter an die URL hinzufügen, wenn Sie also ($ _ GET) print_r werden Sie etwas sehen:

Array 
(
    [id] => 
    [lt;] => 
    [lt;Apple] => 
    [gt;] => 
) 

Sie können versuchen, substringing $_SERVER['QUERY_STRING']. In diesem Fall sollte $_SERVER['QUERY_STRING'] etwas wie id=<<<Apple>>> sein, so dass Sie nur echo substr($_SERVER['QUERY_STRING'],3).

+0

Es funktionierte wie ein Charme! Danke für deine ruhige Antwort ohne Arroganz. <3; sollte ich $ _SERVER global für GET-Methoden immer verwenden? und mit dieser Methode bedeutet, ich kann nicht mehr Variablen mit & password =? –

+0

mit $ _SERVER ist nur ein kleiner Hack, Sie können immer mit Substrings und Regex spielen, um mehrere Parameter mit $ _SERVER zu bekommen, aber Sie sollten versuchen, Zeichen wie & oder = ... in der URL zu vermeiden –

Verwandte Themen