2015-12-21 83 views
1

有人可以帮助我。如何从URL(PHP)获取第二个参数

我有这样一个链接:

http://www.somesite.com/somepage.php?&validation=3545&validation=1431 

,但我想从第二验证作为变量获得1431。 我试图用这一点,但没有奏效:

$Validationcode2 = $_GET['validation=3545&validation']; 

但我认为它不工作的方式。

+1

参数名称应该是唯一的。你有控制网址吗? – chris85

+0

你的意思是这样的:'http://www.somesite.com/somepage.php?validation = 3545&validation = 1431'(删除了额外的&符号) – 3ocene

+2

可能的重复[如何从PHP中的URL中获取多个具有相同名称的参数](http://stackoverflow.com/questions/353379/how-to-get-multiple-parameters-with-same-name-from-a-url-in-php) – chris85

回答

0

您需要的是GET参数是唯一的,所以不要有两个validation变量,假定这是一个错误:

如果你知道这个名字你可以参考它:

$second_param = $_GET["validation"]; 

如果你总是想要s的Econd变量,无论名称,你可以做这样的:

$key_array = array_keys($_GET); 
$second_param = $_GET[$key_array[1]]; 
0

这绝对是更好地使用验证[]构建,但有趣的是,它实际上工程以打印&验证的第二个参数= 1431

$url = "http://www.somesite.com/somepage.php?&validation=3545&validation=1431"; 
$parsed_url = parse_url($url); 
$query = $parsed_url['query']; 
parse_str($query,$parts); 

print_r(array('parts'=>$parts)); 

这种打印出

Array(
    [parts] => Array(
     [validation] => 1431 
    ) 
)