GETで同じ名前のパラメータ(&id=A&id=B)を美しく判断できる? - PHPプロ!Q&A掲示板

2702

  • 0P

GETで同じ名前のパラメータ(&id=A&id=B)を美しく判断できる?

質問日時 / 2010年5月11日 13:23    回答数 / 4件

Questioner:  higejolie  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

例えば、GETで以下のように、同じ名前(id)のパラメータが3つ渡されたとして、
この3つのIDの値をphpでそれぞれ取得したいと思っています。

  1. http://aaa.bbb.ccc/ddd.php?id=A&id=B&id=C
  2.  
  3. id=A
  4. id=B
  5. id=C

$_GETで取得すると当然の事ながら、上書きされて最後のID(id=C)1つしか値を取る事ができません。

なので、$_SERVER['REQUEST_URI'] などに入ってくるURLを「parse_url」などで
パラメータをバラして判断するしかないのかなーと思っているところです。

  1. $_SERVER['REQUEST_URI'] => /ddd.php?id=A&id=B&id=C
  2. parse_urlで、「id=A&id=B&id=C」を取得
  3. explodeで、「&」で分割してパラメータを得る

他に、何か良い方法はありますか?
ちなみにPHPは「5.2.6」です

また、なぜこのようなパラメータを受け取りたいかというと、
mixiアプリでmixiから渡ってくる値がそうなっているので、悩んでいるところです。

-----------------------------------------------------------------------------
■mixi Developper Cente <ライフサイクルイベントについて>
http://developer.mixi.co.jp/appli/pc/lets_enjoy_making_mixiapp/lifecycle_event


(※以下抜粋)

GET /***?opensocial_app_id=X&id=A&id=B&id=C

といったようにリクエストが一つにまとめられます。
エンドポイント側で、複数のidパラメータが指定されている場合についても、
正しく受け取れるように処理を行うようにしてください。
-----------------------------------------------------------------------------

よろしくお願いいたします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01mgngmgng他になさそうですね。 # $_SERVER['QUERY_STRING']
┃┗A01-1higejolie> # $_SERVER['QUERY_STRING'] 使えば > # parse_url
┗A02weekendphpmgngmgng さんのおっしゃるように、$_SERVER["QUERY_S
 ┗A02-1higejolieありがとうございます。勉強になります。

回答一覧

並び替え:

A01 満足
answerermgngmgng [5月11日 14:46] (最終編集:5月11日 14:46)

他になさそうですね。

# $_SERVER['QUERY_STRING'] 使えば
parse_url を省ける、くらいでしょうか...

この意見に回答する

ツリーへ TOPへ

A01-1
replyerhigejolie [5月11日 15:20]

> # $_SERVER['QUERY_STRING'] 使えば
> # parse_url を省ける、くらいでしょうか...

あーなるほど確かに。ありがとうございます!!

この意見に回答する

ツリーへ TOPへ

A02
answererweekendphp [5月11日 17:26]

mgngmgng さんのおっしゃるように、$_SERVER["QUERY_STRING"]から解析するのが妥当でしょうか。

参考に:
http://d.hatena.ne.jp/ja9/20090119/1232357556

この意見に回答する

ツリーへ TOPへ

A02-1
replyerhigejolie [5月11日 19:22]

ありがとうございます。勉強になります。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)