2011-12-22 2 views
6

Как разделить URL-адрес, а затем получить его значение и сохранить значение для каждого ввода текста?PHP Получить URL-адрес и его значение

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="">';  
} 

выше код будет возвращать:

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

и я попробовал другой метод:

$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

использовать $ _GET. Если вы разбиваете строку запроса из другого места, используйте parse_str(). Не нужно взорвать и зацикливать все. – MetalFrog

ответ

5

Почему не использовать $ _GET глобальную переменную?

Еогеасп ($ _ GET, как $ ключ => $ значение) {

.....

}

+0

спасибо. я никогда не думал, что просто :) – tonoslfx

1

Вы должны использовать массив $_GET.

Если строка запроса выглядит следующим образом: ?foo=bar&fuz=baz

Затем вы можете получить доступ к значениям, как это:

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

PHP имеет предопределенный переменную, которая представляет собой ассоциативный массив строки запроса ... так что вы можете использовать $_GET['<name>'] для возврата значения, link to $_GET[] docs

Вам действительно нужно, чтобы взглянуть на Code Injection page on wikipedia вам необходимо убедиться, что все значения, отправляемые в PHP скрипт тщательно Che трахнуться на наличие вредоносного кода, PHP предоставляет методы, чтобы помочь в предотвращении этой проблемы, htmlspecialchars

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

var_dump($queryArray); 
+0

Только для меня ... почему вы будете использовать parse_str() 'over' $ _GET'? я могу понять, что nerd использует его, если строка, которую вы хотите проанализировать, если не URL-адрес, используемый для вызова исполняемого php ... – ManseUK

+0

Как бы обрабатывать $ _GET? arr [] = foo + bar & arr [] = baz –

+0

'$ _GET ['arr']; '<- будет массив – ManseUK

Смежные вопросы