フォーム転送メールの変換 VB6 |
フォーム転送メール
フォームとは、ホームページで入力可能なフィールド(VBのテキストボックスのようなもの)やボタンなどから構成されている。このフォームを利用してアンケートや商品の注文を受けたり、感想、意見などを受けることができる。これをフォーム転送メールという。
各フィールドに入力後、送信するのボタンをクリックするとメールによって送信されることになる。
実際に私のホームページで使用しているものを次に示す。ただし、レイアウトに使っているテーブルは除いている。また、送信するのボタンをクリックしても何も起こらない。
上のフォームを表示しているリストを次に示す。詳しくは説明しないが、ホームページ作成の書籍などを参考にすること。
<FORM method="POST" action="mailto:ここにメールアドレスを記入する"> <B><FONT color="#0000ff">お名前:</FONT></B> <INPUT size="25" type="text" name="Name"><BR> <B><FONT color="#0000ff">ホームページの印象:</FONT></B> <SELECT name="Kansou"> <OPTION value="none" selected></OPTION> <OPTION value="5">大変良い</OPTION> <OPTION value="4">やや良い</OPTION> <OPTION value="3">普通</OPTION> <OPTION value="2">やや悪い</OPTION> <OPTION value="1">大変悪い</OPTION> </SELECT><BR> <B><FONT color="#0000ff">ご意見・ご感想:</FONT></B> <TEXTAREA rows="5" cols="36" name="Iken"></TEXTAREA><BR> <INPUT type="submit" value="送信する"> <INPUT type="reset" value="止 め る"> </FORM>
フォーム転送メールの転送内容
次のように入力したとき、転送されてくるデータを見てみる。
名前 | 増田 裕至 |
ページの印象 | やや良い |
意見 | フォーム転送メールをProguramで変換するためのテストデータです。 このプログラムはVisualBASIC 6.0で作成しています。 正しく変換できるでしょうか? 楽しみにしています。 2002.01.05 |
Name=%91%9D%93c%81@%97T%8E%8A&Kansou=4&Iken=%83t%83H%81%5B%83%80%93%5D %91%97%83%81%81%5B%83%8B%82%F0Proguram%82%C5%95%CF%8A%B7%82%B7%82%E9 %82%BD%82%DF%82%CC%83e%83X%83g%83f%81%5B%83%5E%82%C5%82%B7%81B%0D%0A %82%B1%82%CC%83v%83%8D%83O%83%89%83%80%82%CDVisualBASIC+6.0%82%C5 %8D%EC%90%AC%82%B5%82%C4%82%A2%82%DC%82%B7%81B%0D%0A%90%B3%82%B5 %82%AD%95%CF%8A%B7%82%C5%82%AB%82%E9%82%C5%82%B5%82%E5%82%A4%82%A9 %81H%0D%0A%8Ay%82%B5%82%DD%82%C9%82%B5%82%C4%82%A2%82%DC%82%B7 %81B%0D%0A2002.01.05 |
青色の部分は、半角の英数字で送ったデータがそのまま読みとれる。
赤色で示したName, Kansou, Ikenは<INPUT>タグのnameで指定したもので、どのフィールドのデータかを区別するためのもので、記号"="によって区切られる。
太字青色の記号"&"はフィールドの区切りを、記号"+"は空白文字を表す。
これら以外には、%で始まる英数字の集まりがある。この%で始まる英数字は16進数を表しており、これが文字コードということになる。それぞれの文字には、文字コードといわれる番号が割り当てられている。例えば、英字のAには41(16)というコード(1バイト)が当てられている。漢字の場合はその数が多いので、2バイトのコードが当てられている。例えば漢字の「亜」には889F(16)というコードが当てられている。漢字のコードには種類があるが、Windows(DOS/V)パソコンの多くはシフトJISコードと呼ばれるものが採用されている。
名前の「増」は919D(16)、「田」は9363(16)であり、%91%9D%93cというデータになって送られてくる。ここで、「田」の9363が%93cとなっている。これは、英数字の文字コードについてはコードではなく英数字がそのまま送られるためである。ちなみに、英字のcの文字コードは63(16)である。
第1バイト | 第2バイト | ||
JISコード | 21〜98 | 21〜7E | |
シフトJISコード (S-JIS) |
81〜9F E0〜FC |
40〜7E 80〜FC |
|
EUCコード | A1〜FE | A1〜FE |
転送内容変換の手順
転送内容のデータから1文字ずつ取り出して、次のように判定して文字に変換する。
Copyright © 2001 Hiroshi Masuda |