0

これは本当に奇妙です。フォーム内にテキストボックスがあります。送信ボタンをクリックすると、テキストボックスの内容が page2.php に投稿されます

テキストボックスに次のようなテキストが含まれている場合

This is a sample url 
https://maps.google.com/maps?q=karnataka+badminton+association+bangalore&ie=UTF-8&ei=w4_lUNWmJozjrAfSkYGYBA&ved=0CAsQ_AUoAA 

送信を押すと、page2.php のコンテンツがエコーされ、次のようになります。

//echo $_POST['message'];

This is a sample url 
https://maps.google.com/maps?q=karnataka

メッセージは表示されますが、最初の「+」の後で URL が切れてしまいます。この仕事を得る方法はありますか?

POSTリクエストをfirebugでチェックしたところ、完全なURLが正しく表示されました。

新しい編集:私は今 ajax でこれを試しています。

4

1 に答える 1

1

最初に URL をエンコードする必要があります。これを行うには、javascript に埋め込まれた encodeURIComponent(str) または encodeURI(str) を使用できます。参照: JavaScript で URL をエンコードしますか?

次に、urldecode/rawurldecode を使用して、URL をネイティブ形式にデコードする必要があります。デコードされたフォームを保存し、必要に応じて php / javascript で URL をデコードすることもできます。参照: http://php.net/manual/en/function.rawurlencode.php

于 2013-01-11T09:37:21.387 に答える