2011-12-22 15 views
6

Jak podzielić adres URL, a następnie uzyskać jego wartość i zapisać wartość na każdym wprowadzeniu tekstu?PHP Uzyskaj parametr adresu URL i jego wartość

URL:

other.php?add_client_verify&f_name=test&l_name=testing&dob_day=03&dob_month=01&dob_year=2009&gender=0&house_no=&street_address=&city=&county=&postcode=&email=&telp=234&mobile=2342&newsletter=1&deposit=1 

PHP:

$url = $_SERVER['QUERY_STRING']; 
$para = explode("&", $url); 
foreach($para as $key => $value){ 
    echo '<input type="text" value="" name="">';  
} 

Powyższy kod zwróci:

l_name=testing 
dob_day=3 
doby_month=01 
.... 

i próbowałem inną metodę:

$url = $_SERVER['QUERY_STRING']; 
$para = explode("&", $url); 
foreach($para as $key => $value){ 
    $p = explode("&", $value); 
    foreach($p as $key => $val) { 
     echo '<input type="text" value="" name="">'; 
    } 
} 
+0

http://www.php.net/manual/en/reserved.variables.get.php – ManseUK

+0

Używaj $ _GET. Jeśli dzielisz ciąg zapytania z innej lokalizacji, użyj polecenia parse_str(). Nie trzeba eksplodować i zapętlać wszystkiego. – MetalFrog

Odpowiedz

5

Dlaczego nie za pomocą $ _GET zmienną globalną?

foreach ($ _ GET jako $ key => $ value) {

.....

}

+0

dzięki. nigdy nie myślałem, że to proste :) – tonoslfx

1

Powinieneś użyć tablicy $_GET.

Jeśli ciąg kwerendy wygląda następująco: ?foo=bar&fuz=baz

Następnie można przejść do wartości tak:

echo $_GET['foo']; // "bar" 
echo $_GET['fuz']; // "baz" 
4

php ma predefiniowaną zmienną, która jest asocjacyjna ciągu kwerendy ... więc można użyć $_GET['<name>'] zwrócić wartość, link to $_GET[] docs

naprawdę trzeba spojrzeć na Code Injection page on wikipedia trzeba upewnić się, że wszelkie wartości wysyłane do skryptu PHP są starannie che cked dla złośliwego kodu PHP dostarcza sposobów, aby pomóc w zapobieganiu ten problem, htmlspecialchars

4
$queryArray = array(); 
parse_str($_SERVER['QUERY_STRING'],$queryArray); 

var_dump($queryArray); 
+0

Tylko dla mnie ... dlaczego użyłbyś 'parse_str()' over '$ _GET'? Rozumiem, że nerd może go użyć, jeśli ciąg, który chcesz analizować, nie jest adresem URL używanym do wywoływania php ... – ManseUK

+0

Jak działałby $ _GET? arr [] = foo + bar & arr [] = baz –

+0

'$ _GET ['arr']; '<- byłaby tablicą – ManseUK

Powiązane problemy