2

私が今直面している問題は、次のように URL を取得することです。

www.example.com/example.php?url=www.google.com

問題は、次のように、私の URL に get がある場合です。

www.example.com/example.php?url=www.google.com?id=1

実際にはまだ問題は発生していませんが、my URL に 2 つの GET 変数がある場合、最初の get または 2 番目の「and」がどこにあるかわからず、基本的に最初の get を選択するだけです。例:

www.example.com/example.php?url=www.google.com?id=1&username=me

回避策はありますか?多くのことを 1 つの 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');
4

2 に答える 2

12

urlencodeパラメータをエンコードする必要がありurlます。

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

編集: 投稿されたコードを見た後、params に 3 番目のパラメーターを使用する必要があるようです。

$url='http://******.com/questions/view.php?id=884&username=robot';
$facebookapi->api('/me/******app:answer', 'POST', array('question' => $url));
于 2012-06-06T03:24:53.067 に答える
0

関数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 の一部のバージョンでは、自動的に実行されます。

于 2012-06-06T03:31:01.423 に答える