2011-12-22 37 views
6

Làm cách nào để tách URL và sau đó nhận giá trị của nó và lưu trữ giá trị trên mỗi lần nhập văn bản?PHP Lấy thông số URL và giá trị của nó

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

trên mã sẽ trở lại:

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

và tôi đã cố gắng phương pháp khác:

$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

Sử dụng $ _GET. Nếu bạn đang phá vỡ chuỗi truy vấn từ một vị trí khác, hãy sử dụng parse_str(). Không cần phải phát nổ và lặp lại mọi thứ. – MetalFrog

Trả lời

5

Tại sao không sử dụng $ _GET biến toàn cầu?

foreach ($ _ GET như $ key => $ value) {

.....

}

+0

cảm ơn. tôi không bao giờ nghĩ rằng đơn giản :) – tonoslfx

1

Bạn nên sử dụng mảng $_GET.

Nếu chuỗi truy vấn của bạn trông như thế này: ?foo=bar&fuz=baz

Sau đó, bạn có thể truy cập các giá trị như thế này:

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

php có biến xác định trước đó là một mảng kết hợp của chuỗi truy vấn ... để bạn có thể sử dụng $_GET['<name>'] để trả về một giá trị, link to $_GET[] docs

Bạn thực sự cần phải xem xét Code Injection page on wikipedia bạn cần đảm bảo rằng mọi giá trị được gửi đến tập lệnh PHP đều được cẩn thận cked cho mã độc hại, PHP cung cấp phương pháp để hỗ trợ trong việc ngăn chặn vấn đề này, htmlspecialchars

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

var_dump($queryArray); 
+0

Chỉ cần cho tôi ... tại sao bạn sẽ 'sử dụng parse_str()' trên '$ _GET'? tôi có thể hiểu mọt sách để sử dụng nó nếu chuỗi bạn muốn phân tích cú pháp nếu không phải url được sử dụng để gọi php thực thi ... – ManseUK

+0

Làm thế nào sẽ xử lý $ _GET? arr [] = foo + bar & arr [] = baz –

+0

'$ _GET ['arr']; '<- sẽ là một mảng – ManseUK

Các vấn đề liên quan