$_SERVER["QUERY_STRING"]を使用すると、クエリ情報(URLの"?"以降の文字列)を
取得できると伺ったのですが、私は、下記のように、
http://www.xxx.jp/zzz.php?url=【URL】
と、URLを値として渡すプログラムを作成しています。時にそのURL内にも「?」が
存在する場合もございます。
【例】
http://www.aaa.com/ss/item.asp?code=007656&item= …" target="_blank" rel="nofollow">http://www.xxx.jp/zzz.php?url=http://www.aaa.com …
今のところ、1番目の「?」以降、
url=http://www.aaa.com/ss/item.asp?code=007656&item= …
を受け取ってくれてはいるのですが、何かのタイミングなどで、
2番目の「?」に反応し、バグを起こさないのか不安です。
どなたか、$_SERVER["QUERY_STRING"]の仕様についてご存知の方は
いらっしゃらないでしょうか?
1番目の「?」にしか反応しないということがわかる、もしくは、
2番目の「?」にはこういう場合に反応するということがわかれば対処できるのですが。
どうぞよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
↑ずいぶん昔の質問ですが、完了していないので回答します。
まず質問者さんが誤解されていることとして、クエリの値に?を使えると思っていらっしゃいますが、使えません。?と&はクエリの開始、属性と値の区切り文字だからです。
そこで、先の回答者さんが答えられているように、文字をエンコードして渡さなければなりません。それがURLエンコードです。?や&を含め、日本語なども全てGETクエリとして扱えるようになります。
$gettext = urlencode("$gettext");
そして、受け取る側で戻してあげます。これがURLデコードです。
$gettext = urldecode("$gettext");
これだけなのですが、質問者さんがおっしゃっていることの実現は、受け取る側だけの対処ではどうにもなりません。
送る側がエンコードしないことにはクエリの送信が出来ないからです。
JAVAでもエンコードできるメソッドはあるはずですので、送る側に依頼して下さい。
参考URL:http://iuc.didit.jp/blog/lab/2008/12/auurl.html
No.1
- 回答日時:
パラメータに「?」はよろしくないですね
そんな時はエンコードすれば問題ないです
http://www.xxx.jp/zzz.php?http:%2F%2Fwww.aaa.com …
こんな感じです
phpにはこれを行うためのurlencodeという関数があるので参照してください
この回答への補足
これは渡す側のお話ですよね?
私が触ることのできるファイルは受け取る側だけで、送る側のファイルには、
http://www.xxx.jp/zzz.php?url=【URL】
という形式で、リンクを張っていただくようお願いいたしました。
おそらく形式の変更は可能ですが、javaアプレット内にリンクを組み込むので、
urlencodeという関数は使えないと思うのですが、このような場合でも可能でしょうか?
【URL】の部分は、何が来るのかわからないのですが、「?」が存在
する場合もありますので、受け取る側で できる処理を知りたくて
質問をさせていただいております。説明不足で申し訳ございませんでした。
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Gmail Googleの連絡先を共有する方法があればアドバイス願います。 3 2023/03/30 11:11
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- PHP ここで言う空文字の意味とは? 1 2022/08/05 16:27
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「次の10件を表示する」のよ...
-
<A href ~で複数の値を渡したい
-
なぜエラーが出るのか分からな...
-
複合演算子につきまして!
-
phpについて質問です。
-
テーブルに送信ボタンをつける
-
PHPの基本的な作法について
-
php演算子
-
プログラムの中の public $name...
-
if (isset($_a)&&$_a)この意味は
-
アクセスキーについて
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
ファイル名に日付の挿入
-
バッチファイルでpingの結果を...
-
findstrのerrorlevel
-
【C#】DataGridViewの最大列数...
-
shシェルスクリプト 空白行の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
日付を基にした乱数生成
-
テーブルに送信ボタンをつける
-
「次の10件を表示する」のよ...
-
PHPでwait処理ってできます?
-
なぜエラーが出るのか分からな...
-
null代入とunset()の違いについて
-
PHPのif文「POSTしていな...
-
if (isset($_a)&&$_a)この意味は
-
microtime関数は、結構イイカゲ...
-
アクセスキーについて
-
POSTされたかどうか確かめる方...
-
複合演算子につきまして!
-
Luaにて、and or の組み合わせ...
-
$_SERVER["QUERY_STRING"]の仕...
-
PHPでのNULLの正規表現
-
PHPのGETパラメーターの検索値...
-
データ)表示件数について
-
SQLにあるデータをWEB画面に出...
-
vbYesNoの使い方
おすすめ情報