超初級CGIクラックガイド(5)
前回までで二回に渡りmethod=getの場合を解説してきたので、今回はmethod=postの場合に関して
さて。ちょっと話を戻しましょう。超初級CGIクラックガイド(3)の「getメソッド編」をもう一度読んで下さい。環境変数query_stringの中身はどのような形式になっていますか?
これはpostメソッドでも同じです。
□:formのmethodがpostの場合
標準入力にセットされる
・・・という説明もCGI組めない人からすれば呪文でしかないとは思います。ただ、method=postなformから送られたデータはアドレスには現れません。
<form action="http://www.tokix.net/search.cgi" method="post">
<input type="text" name="keyword">
<select name="language">
<option value="japanese">日本語
<option value="english">英語
</select>
<input type="submit">
</form>
このformの検索語入力スペースに何を書いてもsubmitした時のアドレスは「http://www.tokix.net/search.cgi」です。ただ「keyword欄に○○と書いてlamguage欄から××を選んだ」という情報はCGIに送信されます。「裏で送信されている」という説明で今回は勘弁して下さい。<input type="text" name="keyword">
<select name="language">
<option value="japanese">日本語
<option value="english">英語
</select>
<input type="submit">
</form>
さて。ちょっと話を戻しましょう。超初級CGIクラックガイド(3)の「getメソッド編」をもう一度読んで下さい。環境変数query_stringの中身はどのような形式になっていますか?
http://www.tokix.net/search.cgi?keyword=profeel&language=japanese
「keyword=profeel&language=japanese」というのは「name=閲覧者に指定された値&name=閲覧者に指定された値&・・・」という形式になってますね。超初級CGIクラックガイド(3)の例であればkeywordはtext入力欄から、languageは選択欄から送信される訳ですが送信段階では同じように扱われています。これはpostメソッドでも同じです。
<form action="http://www.tokix.net/search.cgi" method="post">
<input type="text" name="keyword">
<select name="language">
<option value="japanese">日本語
<option value="english">英語
</select>
<input type="submit">
</form>
上に「profeel」と書き下から「日本語」を選んだならばpostした時「裏で送信されるデータ」は「keyword=profeel&language=japanese」です。<input type="text" name="keyword">
<select name="language">
<option value="japanese">日本語
<option value="english">英語
</select>
<input type="submit">
</form>

TrackBack
この記事へのトラックバック