
$_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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google chart API 、PHP、MySQL...
-
if (isset($_a)&&$_a)この意味は
-
<A href ~で複数の値を渡したい
-
POSTされたかどうか確かめる方...
-
「次の10件を表示する」のよ...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
excel access連携 このテーブル...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
json_encodeが表示しない
-
開始と終了を指定して、その間...
-
classの再定義エラーについて
-
phpでcookieがうまく保存されない
-
ローカルのコンピュータ名を取...
-
ファイル名に日付の挿入
-
vb6で、特定のフォルダを常時監...
-
Access グループごとのページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
printの出力結果を変数に代入す...
-
以下のプログラムで質問します。
-
whileループの中でフォーム入力...
-
はじめまして。
-
関数の実行ができません
-
phpスクリプトについて
-
文字列の比較がうまくいきません。
-
PHPで変数についての質問です
-
WEB経由のPHPによるSQLServer接...
-
関数戻り値が連想配列の場合
-
【PHP】条件が一致したとき...
-
「次の10件を表示する」のよ...
-
以下エラーメッセージ解決法は
-
日付の比較について
-
CGIで何%の指示の仕方
-
テーブルに送信ボタンをつける
-
$_SERVER["QUERY_STRING"]の仕...
-
「#表を定義し外枠サイズ2を定...
-
PHPの質問です : -> 等
-
郵便番号と一致するか調べるプ...
おすすめ情報