GET中的GET

Rob*_*ert 2 php url facebook get facebook-graph-api

我现在面临的问题是我正在获取一个URL,如下所示:

www.example.com/example.php?url=www.google.com
Run Code Online (Sandbox Code Playgroud)

现在的问题是,如果有一个进入我的网址,就像这样:

www.example.com/example.php?url=www.google.com?id=1
Run Code Online (Sandbox Code Playgroud)

它实际上并没有引起问题,但如果在我的URL中有两个GET变量,它不知道"和"的位置,第一个获取或第二个,并且基本上只选择第一个,例如:

www.example.com/example.php?url=www.google.com?id=1&username=me
Run Code Online (Sandbox Code Playgroud)

有解决方法吗?我可以重新编写很多东西,让它作为一个变量,但它将涉及很多工作,我希望我能有一个解决方案!谢谢!

继承我的代码:

$facebookapi=new facebook(array('appId'=>'*******','secret'=>'********','fileUpload'=>'false'));
$url='http://******.com/questions/view.php?id=884&username=robot';
$facebookapi->api('/me/******app:answer?question=' . urlencode($url),'POST');
Run Code Online (Sandbox Code Playgroud)

xda*_*azz 12

您需要urlencodeurl参数进行编码.

$url = 'www.google.com?id=1';
echo 'www.example.com/example.php?url='.urlencode($url).'&username=me';
Run Code Online (Sandbox Code Playgroud)

编辑: 看到您发布的代码后,您似乎应该使用params的第三个参数.

$url='http://******.com/questions/view.php?id=884&username=robot';
$facebookapi->api('/me/******app:answer', 'POST', array('question' => $url));
Run Code Online (Sandbox Code Playgroud)