2017-04-02 5 views
0

J'ai un site Web qui obtient des variables avec la méthode GET (on suppose qu'il répond avec des propriétés telles que http://example.com/test.php?id=Apple renverront propriétés d'Apple), et il utilise $_GET['id'] Variable globale en php pour récupérer id demandé.

Le problème est à chaque fois que je navigue sur ce site

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

il travail juste ne, parce que $GET['id'] est vide. Pourquoi ?

Je dois utiliser GET, parce que je vais le partager avec les clients et ils peuvent le modifier à tout ce qu'ils veulent. Si je ne peux pas utiliser GET, quelles sont mes options?

fichier php:

test.php

echo $ _GET [ 'id'];

+0

mis à jour comme demandé –

Répondre

0

$ _GET [ « id »] est vide parce que chaque fois que vous mettez & caractère est comme vous ajoutez un autre paramètre à l'URL, donc si vous print_r ($ _ GET) vous verrez quelque chose comme ceci: Vous pouvez essayer la sous-chaîne $_SERVER['QUERY_STRING']. Dans ce cas, $_SERVER['QUERY_STRING'] devrait être quelque chose comme id=<<<Apple>>>, de sorte que vous pouvez simplement echo substr($_SERVER['QUERY_STRING'],3).

+0

Cela a fonctionné comme un charme! Merci pour votre réponse calme sans arrogance. <3; devrais-je utiliser $ _SERVER global pour les méthodes GET toujours? et en utilisant cette méthode, cela signifie-t-il que je ne peux pas ajouter plus de variables avec & password =? –

+0

en utilisant $ _SERVER est juste un petit bidouillage, vous pouvez toujours jouer avec des sous-chaînes et regex pour obtenir plusieurs paramètres avec $ _SERVER mais vous devriez essayer d'éviter les caractères comme & ou = ... dans l'URL –