2011-05-18 9 views
5

Chcę zapisać nazwę wszystkich zmiennych $ _GET w adresie URL, ale nie jestem pewien, od czego zacząć, lub zakończyć w tej sprawie.

Na przykład:

jeśli mam:

url: test.com/forums.php?topic=blog&discussion_id=12

mogę używać php, aby uzyskać nazwę, czyli "temat" i „discussion_id od $ _GET zmiennych i mogę wtedy sklep wartości: „temat” i „discussion_id” w tablicy

Odpowiedz

13

można uzyskać to poprzez wywołanie array_keys na $_GET:

$getVars = array_keys($_GET); 
+0

Wyświetli zmienne adresu URL wywołującego skrypt, a nie URL * w obrębie * skryptu. –

+0

@Ignacio Tak, to jest to, co przypuszczam, pytanie o to. Jeśli nie, no cóż, Mario dostał rozwiązanie i przegłosowałem jego odpowiedź. – lonesomeday

+0

co nie było pytaniem ... – Tobias

0

To tablicą:

print_r($_GET); 

Fetch elementów jak w przypadku każdej innej tablicy.

+0

która po prostu je drukuje ... – Tobias

1

$ _GET to zwykła tablica php. można go używać w pętli foreach:

foreach ($_GET as $k => $v) 
    echo ($k . '=' . $v); 
5

Jeśli nie jest to o bieżącym URL, ale tylko niektóre $ url ciąg chcesz wyodrębnić parametry od tej pory:

parse_str(parse_url($url, PHP_URL_QUERY), $params); 

wypełni $ params z:

[topic] => blog 
[discussion_id] => 12 
+0

+1 I 'array_keys' może być następnie użyte do uzyskania kluczy w tablicy, jeśli to konieczne. – lonesomeday

3

użyć następującego kodu, aby pobrać dane z URL przy użyciu GET. Zmień go na $ _POST będzie działać dla postu.

<?php 
foreach ($_GET as $key => $value) 
{ 
     //other code go here 
    echo 'Index : ' . $key . ' & Value : ' . $value; 
    echo '<br/>'; 
} 
?>