PHP如何传递URL参数来创建新的URL

时间:2011-05-19 17:30:44

标签: php url

非常新手的问题:设置一个Meraki无线EXCAP围墙花园,并且将让用户登陆服务条款.php(简单复选框)...提交后,将登陆页面,其他信息然后需要传递到开放网络。需要获取第一个URL,保存它,传递给page2.php,然后传送到Web。

Meraki的传入URL示例(当用户尝试访问无线时):

http://MyCompany.com/MerakiSplashPage/?base_grant_url=https://example.meraki.com/splash/grant&user_continue_url=http://www.google.com&node_id=222222&gateway_id=222222&client_ip=10.222.222.222

然后“当您准备好授予用户访问权限时,请将用户发送到GET['base_grant_url'] + "?continue_url=" + GET['user_continue_url']。如果是上述示例,则此URL将为:

https://example.meraki.com/splash/grant?continue_url=http://www.google.com 

如何做到这一点,我们非常感谢任何建议。

2 个答案:

答案 0 :(得分:3)

使用rawurlencode正确编码值:

'http://MyCompany.com/MerakiSplashPage/?base_grant_url='.rawurlencode('https://example.meraki.com/splash/grant&user_continue_url=http://www.google.com').'&node_id=222222&gateway_id=222222&client_ip=10.222.222.222'

您还可以使用http_build_query自动构建查询:

$query = array(
    'base_grant_url' => 'https://example.meraki.com/splash/grant&user_continue_url=http://www.google.com',
    'node_id' => '222222',
    'gateway_id' => '222222',
    'client_ip' => '10.222.222.222'
);
'http://MyCompany.com/MerakiSplashPage/?'.http_build_query($query)

答案 1 :(得分:0)

您的最终网址是:

$_GET['base_grant_url']."?".$_GET['user_continue_url'];