$_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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
$_SERVER["QUERY_STRING"]の仕...
-
PHPのGETパラメーターの検索値...
-
DTOとEntityの差は何ですか。
-
Dosブロンプトでtabを出力したい
-
EXCEL、マクロ-改ページ行番号...
-
ログイン画面をはさんだ後、自...
-
ps3で久しぶりにCDの音楽情報取...
-
入力した日付の調整法
-
classの再定義エラーについて
-
VBAでできますか?
-
PHPを使って、クイズを作りたい...
-
VBAでPDFのアクティブページ番...
-
PHP「FALSE」や「0」を使った条...
-
[C#]htmlを取得できないページ...
-
phpで日時の差を求めたい。ただ...
-
Yahoo! JAPAN IDを新規取得でき...
-
Google scholarがひらけなくな...
-
位置センサー動作履歴
-
築24年の中古住宅は住宅ローン...
-
Type.GetMethodで困っています
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
POSTされたかどうか確かめる方...
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
$_SERVER["QUERY_STRING"]の仕...
-
null代入とunset()の違いについて
-
なぜエラーが出るのか分からな...
-
CakePHP リッチテキストエディ...
-
逆順表示したい?
-
Luaにて、and or の組み合わせ...
-
value count on rowというエラ...
-
Google chart API 、PHP、MySQL...
-
ループについて
-
IEで長いWEBページを表示した場...
-
ヒアドキュメントでstaticメン...
-
小数点以下を強引に表示させたい
-
<python>戻り値
-
PHPにて自動計算した値をデータ...
-
文字列チェックの動作がおかし...
-
複数の連動するセレクトボック...
おすすめ情報