Dreamweaver で作成する: フォームと CGI

Dreamweaver と mailform.cgi を使ってメール送信フォームを作成する

Dreamweaver でホームページからメールを送信するフォームを作成することができます。 Techniques フォルダの mailform.cgi を UNIX サーバに設置すると、フォームのデータを処理してその内容を e-mail にして送信することができます。

フォームの作成方法:

1 「ファイル」>「新規作成」を選択して、新規の Dreamweaver ドキュメントを開きます。
2 「表示」>「不可視エレメント」にチェックを入れます。
3 「挿入」>「フォーム」を選択するか、「オブジェクトパレット」の「フォーム」ボタンをクリックしてフォーム境界を挿入します。
4 ドキュメントウィンドウの一番下にある「タグセレクタ」の「<form>」タグをクリックします。「プロパティインスペクタ」で、「アクション」属性をフォームの処理を実行する CGI スクリプトのファイル名(「mailform.cgi」)を指定します。
サーバの設定によっては、CGI スクリプトは決まったディレクトリに設置することが必要な場合があります。この場合には、「アクション」属性で決められたディレクトリのパスを指定するようにします。たとえば、「ACTION="mailform.cgi」ではなく、「ACTION="/cgi-bin/mailform.cgi」のように指定します。
5 ドキュメントウィンドウで、フォーム境界の内側をクリックして「挿入」メニューから「フォームオブジェクト」>「テキストフィールド」を選択するか、「オブジェクトパレット」の「テキストフィールドの挿入」をクリックします。
6 「プロパティインスペクタ」で、フィールドの名前を「textfield」から「mailto」に変更します。「初期値」ボックスに、フォームからの送信内容をメールで受信する人の e-mail アドレスを指定します(テストの場合は、テストを実行する人のアドレスを指定しておきます)。
7 テキストフィールドが選択された状態のままで、「ウィンドウ」>「HTML」を選択して、「HTML インスペクタ」を開きます。テキストフィールドを表す HTML コードの部分がハイライト表示されていることを確認します。フィールドの TYPE 属性を「text」から「hidden」に変更します。
8 手順の 5 と 6 を繰り返して、「subject」という名前の隠しフィールドを作成します。この際、「初期値」ボックスにはメールヘッダの「Subject:」行に出力したい文字列を設定します(例:「アンケート回答」)。
9 フォームの残りの部分を通常の方法で作成します(詳細は、「フォームを作成する」を参照してください)。
普通の名前を付けたフィールドは、メールの本文には出力されません。メールの本文に出力したいフィールドには、「F + 番号 + アンダースコア( _ ) + フィールド名」という形式の名前(例:「F01_Name」など)を割り当てます。フィールド名にスペースが含まれている場合には、スペースが入る部分をアンダースコア( _ )で置き換えて指定します。メールに出力するときに、アンダースコアがスペースに変換されます。

「F01_Customer_name」、「F02_Street_address」、「F03_City」、「F04_State」および「F05_Zip」の5つのフィールドを設定した場合、433 Pine Street, Janeway, NB, 67554 に住む Joe Normal という人物がフォームを提出した場合に出力されるメールの本文は以下のようになります。
	Customer name: Joe Normal
	Street address: 433 Pine Street
	City: Janeway
	State: NB
	Zip: 67554
フォームの記入者が、リストの中から項目を選ぶことができるようにするには、ラジオボタンや選択メニューを使用します。

選択項目の中からいくつでも選べるようにするには、チェックボックスを使います。同じグループのボックスは、name 属性に同一のグループ名を指定し value 属性に選択項目を特定できる値を指定します。複数のボックスが選ばれると、メールへの出力は以下のようになります。
	Favorite candies: jelly beans - gummy bears - peachy penguins
10 作成したフォームを保存し、サーバにアップロードします(Dreamweaver の Site FTP 機能を使用するには「ウィンドウ」>「サイト」を選択します)。

mailform.cgi を使ってフォームを処理する:

1 mailform.cgi を「BBEdit」や「HomeSite」などのテキストエディタで開きます。
2 行の先頭に # が付いているコメント行を通読して、必要な修正を行います。サーバに依存する設定を変更する必要があるかどうかがわからない場合には、サーバの管理者にお尋ねください。
3 必要な変更が終わったら、ファイルを保存してサーバにアップロードします。スクリプトは、フォームの「アクション」属性で指定したディレクトリに設置します。ファイル名だけを指定した場合には、フォームの HTML ファイルと同じディレクトリに設置します。
4 mailform.cgi のパーミッションを 755 などに変更します(ブラウザから読み出し/実行できるように設定します)。
方法が分からない場合は、サーバの管理者に相談してください。
5 スクリプトの動作をテストします。
フォームのページをブラウザで開き、フォームの各フィールドに入力して「送信」ボタンをクリックします。このテストを入力内容を変えて何度か実行して、フォームからのメール送信が正しくできるかどうかを確認します。問題がある場合は、「mailform.cgi」のコメント行に書かれた説明を参考にしてください。 メールは送信されるのに、内容がおかしい場合には、HTML のフィールド名や値をタイプミスしていないかどうかをよく確認してください。