Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Tôi có một trường biểu mẫu HTML

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
6, có một số chuỗi URL là giá trị.

Giá trị ví dụ là:

https://example.com/test/1234?email=
https://example.com/test/1234?basic=2&email=
https://example.com/test/1234?email=
https://example.com/test/1234?email=&testin=123
https://example.com/test/the-page-here/1234?someurl=key&email=

etc.

Làm thế nào tôi chỉ có thể nhận được tham số

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
7 từ các URL/giá trị này?

Xin lưu ý rằng tôi không nhận được các chuỗi này từ thanh địa chỉ trình duyệt.

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

hỏi ngày 14 tháng 7 năm 2012 lúc 3:27Jul 14, 2012 at 3:27

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Asim Zaidiasim ZaidiAsim Zaidi

26K48 Huy hiệu vàng130 Huy hiệu bạc219 Huy hiệu Đồng48 gold badges130 silver badges219 bronze badges

5

Bạn có thể sử dụng

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8 và
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
9 cho điều đó.

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];

Nếu bạn muốn có được

echo $_GET['email'];
0 một cách linh hoạt với PHP, hãy xem câu hỏi này:

Nhận URL đầy đủ trong PHP

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 3:47Jul 14, 2012 at 3:47

2

Tất cả các tham số sau

echo $_GET['email'];
1 có thể được truy cập bằng mảng
echo $_GET['email'];
2. Vì thế,

echo $_GET['email'];

Sẽ trích xuất các email từ URL.

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 3:29Jul 14, 2012 at 3:29

hjpotter92hjpotter92hjpotter92

76.6K34 Huy hiệu vàng138 Huy hiệu bạc177 Huy hiệu đồng34 gold badges138 silver badges177 bronze badges

4

Sử dụng các phương thức parse_url () và parse_str ().

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8 sẽ phân tích chuỗi URL vào một mảng kết hợp của các bộ phận của nó. Vì bạn chỉ muốn một phần duy nhất của URL, bạn có thể sử dụng một phím tắt để trả về giá trị chuỗi chỉ với phần bạn muốn. Tiếp theo,
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
9 sẽ tạo các biến cho từng tham số trong chuỗi truy vấn. Tôi không thích gây ô nhiễm bối cảnh hiện tại, vì vậy việc cung cấp một tham số thứ hai đặt tất cả các biến vào một mảng kết hợp.

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 4:01Jul 14, 2012 at 4:01

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

JcottonjcottonJCotton

Huy hiệu vàng 11,5K553 Huy hiệu bạc58 Huy hiệu đồng5 gold badges53 silver badges58 bronze badges

Như đã đề cập trong một câu trả lời khác, giải pháp tốt nhất là sử dụng

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8.

Bạn cần sử dụng kết hợp

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8 và
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
9.

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8 phân tích URL và trả về các thành phần của nó để bạn có thể nhận chuỗi truy vấn bằng khóa
echo $_GET['email'];
9. Sau đó, bạn nên sử dụng
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
9 phân tích chuỗi truy vấn và trả về các giá trị thành một biến.

$url = "https://example.com/test/1234?basic=2&email=";
parse_str(parse_url($url)['query'], $params);
echo $params['email']; // 

Ngoài ra, bạn có thể làm công việc này bằng cách sử dụng regex:

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
1regex:
$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
1

Bạn có thể sử dụng

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
1 để nhận giá trị cụ thể của chuỗi truy vấn từ URL.

preg_match("/&?email=([^&]+)/", $url, $matches);
echo $matches[1]; // 

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
3

Ngoài ra, bạn có thể sử dụng

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
3 để thực hiện công việc này trong một dòng!one line!

$email = preg_replace("/^https?:\/\/.*\?.*email=([^&]+).*$/", "$1", $url);
// 

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 11 tháng 11 năm 2018 lúc 9:49Nov 11, 2018 at 9:49

MohammadmohammadMohammad

20.7K15 Huy hiệu vàng53 Huy hiệu bạc81 Huy hiệu đồng15 gold badges53 silver badges81 bronze badges

1

Sử dụng

$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
5 cho các tham số trong URL. Sử dụng
$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
6 cho dữ liệu được đăng lên tập lệnh. Hoặc sử dụng
$url = "https://mysite.com/test/1234?email=&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] =>  [testin] => 123 ) 
7 cho cả hai. Ngoài ra, như đã đề cập, bạn có thể sử dụng hàm
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
8 trả về tất cả các phần của URL. Sử dụng một phần gọi là 'Truy vấn' - ở đó bạn có thể tìm thấy tham số email của mình. Thông tin thêm: http://php.net/manual/en/function.parse-url.php

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 14 tháng 7 năm 2012 lúc 3:56Jul 14, 2012 at 3:56

1

Bạn có thể sử dụng mã dưới đây để lấy địa chỉ email sau

echo $_GET['email'];
1 trong URL:

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 8 tháng 2 năm 2016 lúc 10:18Feb 8, 2016 at 10:18

1

Tôi một chức năng được tạo ra từ câu trả lời của Ruel.

Bạn có thể sử dụng điều này:

function get_valueFromStringUrl($url , $parameter_name)
{
    $parts = parse_url($url);
    if(isset($parts['query']))
    {
        parse_str($parts['query'], $query);
        if(isset($query[$parameter_name]))
        {
            return $query[$parameter_name];
        }
        else
        {
            return null;
        }
    }
    else
    {
        return null;
    }
}

Example:

$url = "https://example.com/test/the-page-here/1234?someurl=key&email=";
echo get_valueFromStringUrl($url , "email");

Cảm ơn @Ruel.

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 14 tháng 3 năm 2017 lúc 12:53Mar 14, 2017 at 12:53

MGHHGMMGHHGMmghhgm

1.56722 Huy hiệu bạc43 Huy hiệu đồng22 silver badges43 bronze badges

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
0

Nik

2.6552 Huy hiệu vàng22 Huy hiệu bạc24 Huy hiệu đồng2 gold badges22 silver badges24 bronze badges

Đã trả lời ngày 12 tháng 7 năm 2019 lúc 15:46Jul 12, 2019 at 15:46

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

1

Một câu trả lời an toàn hơn nhiều mà tôi ngạc nhiên chưa được đề cập ở đây:

$url = "https://example.com/test/1234?basic=2&email=";
parse_str(parse_url($url)['query'], $params);
echo $params['email']; // 
0

Vì vậy, trong trường hợp câu hỏi, bạn có thể sử dụng điều này để nhận giá trị email từ URL Nhận tham số:

$url = "https://example.com/test/1234?basic=2&email=";
parse_str(parse_url($url)['query'], $params);
echo $params['email']; // 
1

Đối với các loại biến khác, bạn sẽ muốn chọn một bộ lọc khác/phù hợp, chẳng hạn như

$url = "https://example.com/test/1234?basic=2&email=";
parse_str(parse_url($url)['query'], $params);
echo $params['email']; // 
2.

Tôi cho rằng câu trả lời này làm nhiều hơn chính xác những gì câu hỏi yêu cầu - lấy dữ liệu thô từ tham số URL. Nhưng đây là một lối tắt một dòng có kết quả tương tự như thế này:

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
1

Cũng có thể có thói quen lấy các biến theo cách này.

Đã trả lời ngày 18 tháng 2 năm 2020 lúc 17:39Feb 18, 2020 at 17:39

SquareCandySquarecandysquarecandy

4.6562 Huy hiệu vàng33 Huy hiệu bạc43 Huy hiệu Đồng2 gold badges33 silver badges43 bronze badges

1

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
2

Điều này đang hoạt động tốt cho tôi bằng cách sử dụng PHP.

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 27 tháng 6 năm 2016 lúc 10:20Jun 27, 2016 at 10:20

Asesha Georgeasesha GeorgeAsesha George

2.1682 Huy hiệu vàng30 Huy hiệu bạc65 Huy hiệu Đồng2 gold badges30 silver badges65 bronze badges

2

Ở Laravel, tôi đang sử dụng:

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
3

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 12 tháng 7 năm 2019 lúc 17:14Jul 12, 2019 at 17:14

Ronald Araújoronald AraújoRonald Araújo

1.2574 huy hiệu vàng18 Huy hiệu bạc29 Huy hiệu đồng4 gold badges18 silver badges29 bronze badges

Một hàm động phân tích URL chuỗi và nhận được giá trị của tham số truy vấn được truyền trong URL:

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
4

Gọi chức năng để có được kết quả:

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];
5

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

Đã trả lời ngày 9 tháng 10 năm 2019 lúc 10:14Oct 9, 2019 at 10:14

Hướng dẫn check get parameter php - kiểm tra lấy tham số php

0