我现在面临的问题是我得到了一个URL,如下所示:
www.example.com/example.php?url=www.google.com现在的问题是,如果我的url中有get,就像这样:
www.example.com/example.php?url=www.google.com?id=1这实际上还没有造成问题,但是如果my中有两个GET变量,它不知道" and“放在哪里,第一个get还是第二个,基本上只选择第一个,例如:
www.example.com/example.php?url=www.google.com?id=1&username=me有解决办法吗?我可以重新编码很多东西来让它成为一个get变量,但这会涉及到很多工作,我希望我能有一个解决方案!谢谢!
下面是我的代码:
$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');发布于 2012-06-06 11:24:53
您需要使用urlencode对url参数进行编码。
$url = 'www.google.com?id=1';
echo 'www.example.com/example.php?url='.urlencode($url).'&username=me';编辑:在看到您发布的代码后,似乎您应该为params使用第三个参数。
$url='http://******.com/questions/view.php?id=884&username=robot';
$facebookapi->api('/me/******app:answer', 'POST', array('question' => $url));发布于 2012-06-06 11:31:01
urlencode函数非常适合这一点。
一旦对url进行了编码,第一个get变量将从
www.google.com?id=1&username=me
到这个
www.google.com%3Fid%3D1&6username=me
然后,您的网站将显示为www.example.com/example.php?url=www.google.com%3Fid%3D1%26username%3Dme
一旦PHP接收到该变量,就可以对其进行解码
$url = urldecode($_GET['url']);
注意:某些版本的PHP会自动执行此操作。
https://stackoverflow.com/questions/10907776
复制相似问题