- - PR -
URLに付加するパラメタに同一名称は使えますか?
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-26 18:59
初めて質問させていただきます。
php+mysqlでweb検索システムを構築しています。 日経goo<http://nikkei.goo.ne.jp>で新聞記事の検索システムが運用されていますが、本文や見出しといった検索対象を指定するパラメタが以下のようにurlに付加されて送られています。 range=bdy&range=bnr&range=conkwd&range=hd(bdy=本文・bnr=分類語・conkwd=日経キーワード・hd=見出し、です) rangeというパラメタで4つの条件を送っています。同じようにやってみましたが、一つしか取り出せませんでした。このようなURLからデータを取り出すことはできるのでしょうか。 お忙しいところ申し訳ありませんが、ご教示の程宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-04-27 09:32
おはようございます。
件のサイトは servlet で処理されているようですから、getParameterValues() で値を取得してるのではないでしょうか。 http://www.atmarkit.co.jp/fjava/rensai2/jspservlet05/jspsevlet05_2.html まるさんがやられた通り、PHPでは最後に設定された値しか取得できません。 # 私が知らないだけかもしれませんけど... | ||||||||
|
投稿日時: 2005-04-27 22:41
めぐさん、ご返答ありがとうございます。
お教えいただいたページを見てみました。servletですか...
私もPHPで同様の関数は聞いたことがありませんから、今の段階では諦めるしかなさそうですね。 | ||||||||
|
投稿日時: 2005-04-28 01:51
どもです。がると申します。
んっと。複数値ですが、通常であれば取得可能です。 が、PHPの場合だけ「ちょっとひねる」必要があります。 具体的には。 nameにちょっとした細工をすることで、取得が可能になります。 以下はPOSTの使用例ですが。 <INPUT type="text" name="names[]"> こーゆー風に、nameの値の最後に[]をいれると、例えば $datas = $_POST['names']; とやることで、複数値が取得できます。 GETでは試していないのですが、九分九厘、同様の手法で可能かと 思います。'['とか']'をURLエンコードする必要はあるかもしれませんが。 よかったら、実験してみてくださいませ。 追伸: これはPHPの独自仕様っぽいでし。 …困ったもんでふ :-P | ||||||||
|
投稿日時: 2005-04-28 09:45
おはようございます。
がるがるさんの書かれたように配列として渡す方法がありますね。 test.php
test2.php
URLのエンコードも必要ないですね。 POSTの場合は、$_GETを$_POSTに変えるだけです。 | ||||||||
|
投稿日時: 2005-05-15 02:05
皆様、ありがとうございました。
実験してみましたが、たしかにちゃんと取得できています。 |
1