Php 进屋

Php 进屋,php,facebook,url,facebook-graph-api,get,Php,Facebook,Url,Facebook Graph Api,Get,我现在面临的问题是我得到了一个URL,就像这样: www.example.com/example.php?url=www.google.com www.example.com/example.php?url=www.google.com?id=1 现在的问题是,如果我的url中有一个get,就像这样: www.example.com/example.php?url=www.google.com www.example.com/example.php?url=www.google.com?i

我现在面临的问题是我得到了一个URL,就像这样:

www.example.com/example.php?url=www.google.com
www.example.com/example.php?url=www.google.com?id=1
现在的问题是,如果我的url中有一个get,就像这样:

www.example.com/example.php?url=www.google.com
www.example.com/example.php?url=www.google.com?id=1
它实际上还没有引起问题,但是如果我的URL中有两个GET变量,它不知道“and”在哪里,第一个GET还是第二个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');
您需要对
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));
这个功能非常适合这个

一旦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($\u GET['url'])


注意:某些版本的PHP会自动执行此操作。

哪种语言?PHP或JavaScript?您需要对特殊字符进行编码,例如
&
=
-注意,您需要递归地执行此操作,因此如果您在查询中的查询中有一个查询,则需要对其进行多重编码,除非facebook api不能这样工作。所以它失败了。我再试一次。@Robert您使用的是什么api?facebook有这样的api吗?它现在得到了完整的URL,但我的结果不起作用。真奇怪。但这不再是你的问题了。谢谢是的,它有这个api。它被称为图形API。