• ベストアンサー

CGIプログラムの最後に?がついてします。

CGIをC言語で書いております。起動時には、http://hoge/a.cgiとしております ます。この時には、URLにはhttp://hoge/a.cgiとなっているのですが、 そこから先に飛んで、<form method=GET action=a.cgi>で戻ると http://hoge/a.cgi? となります。 特に引数は必要ないのですが、なぜでしょうか? Solalis8.0+Apache+GCCです。

質問者が選んだベストアンサー

  • ベストアンサー
  • jyamato
  • ベストアンサー率66% (2/3)
回答No.1

こんにちは。 とりあえず、<form method=GET action=a.cgi>の部分を <form method=POST action=a.cgi>とすると'?'は出なくなると思います。 どのような引数渡しを行っているか分かりませんが、 <form>から</form>の間の引数を渡すのであれば、method='POST'で構わないと思います。 GET METHODでは、データを、リクエストURLの後ろに付け加える形で送信されますので、今回の引数無しパターンですと'?'が付くだけになるのだと思います。 以下のサイトを参考にしてみて下さい。

参考URL:
http://www.futomi.com/lecture/form/
SpeedStep
質問者

お礼

POSTに変更したら?が無くなりました。有難う御座います。 もう一点関連したご質問ですが、 cgiでは無く、htmlを呼び出す箇所があるのですが、 <FORM method=GET action=../a.html> とすると、やはり?が付きます。ここでPOSTにするとエラー になってしまい、飛びません。

関連するQ&A