重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

URLにパラメータを記述して結果を得るには?

フォームに入力する内容を、URLに記述してアクセスしたいのですが、
うまくいきません。どこが悪いのでしょうか。

■うまくいかないURL(自作)
http://www.*********/test.php?AAAA=A1&BBBB=B1&CC …

■フォームのソース
<form action=test.php method=post name=test>
<input type=hidden name=AAAA value=A1>
<input type=text maxlength=4 name=BBBB value="B1">
<input type=text maxlength=2 name=CCCC value="C1">
<select name="DDDD">
<option value="D1">DDDD1</option>
<option value="D2" selected="selected">DDDD2</option>
</select>
<input type=submit value=E1>
<input type=submit NAME="FFFF" value="F1">
</form>

■補足
ソースに対してご意見があるかもしれませんが、ソースは変更できません。
そういった前提でお願い致します。

A 回答 (1件)

「ソースは変更できません。

」ならどうしようもないかも知れませんが、

まず、URLでリクエストするとGETになりますが、PHP側の対応は
大丈夫ですか?

submit=E1はそもそも、元のフォームのサブミットでも送れてないはず。
(※javascriptがこっそり動いてなければですが...)
F1ボタンを押した時のみ$_POST['FFFF']にF1が送信されるはず。
GET構文なら
http://www.*********/test.php?AAAA=A1&BBBB=B1&CC …
ですが、

さらに、AAAA=A1&BBBB=B1...て本当の文字じゃないでしょ。
ascii文字ならOKですが、日本語とかが混ざってるんならURIエンコード
する必要がありますよ。
(ブラウザーのアドレス欄に張っけて、エンコード文字列確認できるかも)

この回答への補足

ご回答ありがとうございました。

〉まず、URLでリクエストするとGETになりますが、PHP側の対応は
〉大丈夫ですか?

こちらは未確認でございます。

〉submit=E1はそもそも、元のフォームのサブミットでも送れてないはず。
〉(※javascriptがこっそり動いてなければですが...)

送れておりますので、javascriptか何かが動いている可能性があると。。

〉さらに、AAAA=A1&BBBB=B1...て本当の文字じゃないでしょ。
〉ascii文字ならOKですが、日本語とかが混ざってるんならURIエンコード
〉する必要がありますよ。
〉(ブラウザーのアドレス欄に張っけて、エンコード文字列確認できるかも)

おっしゃる通り、本当の文字ではございませんが、URLエンコードは
行っておりますので大丈夫だったかと思います。

結局、PHP側の対応に問題があるのかもしれません。
他に何かお気づきの点がありましたらご指摘頂けますと幸いです。
ありがとうございました。

補足日時:2010/07/28 15:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!