ホームページ・ビルダーにはCGIプログラムを作成する機能はないため、ホームページ・ビルダーに付属しているサンプルCGIプログラムをフルCSSプロフェッショナルテンプレートのフォームに組み込む方法について解説しています。
サンプルCGIプログラムの使い方はホームページ・ビルダーをインストールしたフォルダー内*1の「index.htm」にも書かれていますが、このFAQでは間違えやすいところを中心に説明していますので参考にしてください。
*1初期設定では次のフォルダー内です。
<C:\Program Files\JustSystems\HOMEPAGEBUILDER15\sample\cgi>
▼注意
- フォームのCGIプログラムが提供されていれば、そちらの利用をおすすめします。
CGIプログラムを新しく設置する際、CGIプログラムの編集やパーミッションの設定など専門知識が必要になる場合があるため、契約プロバイダーもしくはサーバー管理者がサーバー上に設置しているフォームのCGIプログラムがある場合にはそちらをご利用ください。利用方法については契約プロバイダーもしくはサーバー管理者へご確認ください。
- 自作CGI(指定以外のCGIプログラム)の設置が認められていなければなりません。
契約プロバイダーもしくはサーバー管理者がCGIプログラムの使用を認めていない場合には、以下の手順でフォームを作成しても動作させることができません。
- sendmailコマンドの利用が必要となります。
契約プロバイダーのサーバーにてsendmailコマンドが使用できない場合には、フォームを作成しても動作させることができません。
なお、ホームページ・ビルダーではサンプルCGIプログラムの編集方法や動作結果についてはサポートしておりません。
お客様の責任で行っていただくようお願いいたします。
◆補足
ホームページ・ビルダーに付属しているサンプルCGIプログラムには、入力項目に漏れがあった場合に画面を出す処理は入っていません。
■操作
1 事前準備
プロバイダーもしくはサーバー管理者に以下の項目を確認してください。
- Perlプログラムのパスはどこにすればよいか
ホームページ・ビルダーに付属しているサンプルCGIプログラムでは「/usr/local/bin/perl」になっています。
あとで説明する手順でサンプルCGIプログラムを編集し適切なパスに変更します。 - sendmailコマンドのパスはどこにすればよいか
ホームページ・ビルダーに付属しているサンプルCGIプログラムでは「/usr/lib/sendmail」になっています。
あとで説明する手順でサンプルCGIプログラムを編集し適切なパスに変更します。 - CGIプログラムを設置するサーバー上のフォルダー*1はどこにすればよいか
ホームページ・ビルダーに付属しているサンプルCGIプログラムの「anketo.cgi」、「jcode.pl」を設置する場所となります。
あとで説明する手順でサーバー上のフォルダーにファイルを転送します。*1契約プロバイダーもしくはサーバーによっては、CGIプログラムを置く場所(<cgi-bin>フォルダーなど)が指定されている場合があります。
2 サンプルCGIプログラムの編集
以下の手順はすでにサイトが作成されていることを前提としています。
- Windows エクスプローラーでサイトフォルダーの中に<手順1-3.>*1に従い、フォルダーを作成します。
*1この例ではCGIプログラムを設置するフォルダーを<anketo>と仮定し説明を進めます。
- ホームページ・ビルダーをインストールしたフォルダー内*2の<\sample\cgi\anketo>フォルダーを開き、(「anketo.cgi」と「jcode.pl」)*3を手順1.で作成したフォルダーにコピーします。
*2初期設定では次のフォルダー内です。
<C:\Program Files\JustSystems\HOMEPAGEBUILDER15>*3「anketo.htm」とほかのgifファイルは今回は使用しません。
- コピーしたファイルを右クリックし、表示されるショートカットメニューで[プロパティ]を選択します。[読み取り専用]のチェックマーク
が付いていたら外し、[OK]ボタンをクリックします。*4
*4「anketo.cgi」、「jcode.pl」のそれぞれのファイルで行います。
- <anketo>フォルダーにコピーした「anketo.cgi」ファイルをメモ帳で開きます。
開く際には、ファイルの種類を[すべてのファイル]にします。 - Perlプログラムのパス「#!/usr/local/bin/perl」の部分とsendmailコマンドのパス「$maliprog='/usr/lib/sendmail';」の部分、mailtoのアドレス「$mailto='';」*5の部分の3か所を、プロバイダーまたはサーバー管理者の指示の手順1-1.、手順1-2.のとおり変更します。
*5アンケートを受け取るためのメールアドレスを指定します。
- メモ帳の画面を下方向にスクロールし、アンケートの送信が完了した際に表示されるメッセージや背景色(bgcolor)*6の記述を変更します。
*6以下の青色の下線の部分を変更するか、あるいは変更せずそのままにしておいてもかまいません。
背景色(bgcolor)に設定する値は、ホーム・ページビルダーの[表示-カラー パレット]を選択し、カラーパレットの色の一覧の中から背景色にしたい色の上にマウスカーソルを移動して表示される色指定の文字列を設定します。 - 変更完了後、ファイルを上書き保存します。
3 フォームの編集
- ホームページ・ビルダーを起動し、サイトからフォームの入ったページを開きます。
この例では「contact.html」を開いています。
- ページ内の[お問い合わせ内容]が入るテキスト領域をクリックし、[編集-属性の変更]を選択します。
[属性]ダイアログボックスが表示されます。
- [名前]に半角英数の名前を入力します。
※フォーム内の入力部品(項目見出し以外のテキスト領域やチェックボックスなど)に、ほかの入力部品と重ならない半角英数の名前を入力します。この例では[複数行テキスト領域]の[お問い合わせ内容]には[message]という名前が設定されているため、そのままでもかまいません。
- [OK]ボタンをクリックします。
[属性]ダイアログボックスが閉じられます。
- フォーム内のほかの入力部品(テキスト領域やチェックボックスなど)すべてに対して、手順2.から手順4.を繰り返します。
- ページ内の[送信]をクリックし、[編集-属性の変更]を選択します。
- [タグ]の右にある▼をクリックして表示されるメニューで[フォーム]を選択し、[フォーム]タブの[アクション]に「anketo.cgi」*1と入力し、[メソッド]の[Post]を選択します。
*1大文字小文字は区別されるため指定のとおり正確に入力してください。
▼注意
転送先のサーバー上で「anketo.cgi」がフォームページの転送先と同じフォルダーでない場合、[アクション]には</cgi-bin/anketo.cgi>など、サーバー上のフォームページからみたサーバー上の「anketo.cgi」のパスを入力する必要があります。
◆補足
以下は「anketo.cgi」とフォームページの転送先フォルダーの違いによる[フォーム]の[アクション]の設定例です。
[フォーム]の[アクション]の設定
「anketo.cgi」を設置するサーバー上のフォルダー フォームのアクションの設定 フォームページと同じフォルダー anketo.cgi フォームページの転送先フォルダーの下の階層のフォルダー<anketo> /<anketo>/anketo.cgi フォームページの転送先フォルダーと同じ階層のフォルダー<anketo> ../<anketo>/anketo.cgi - [OK]ボタンをクリックします。
[属性]ダイアログボックスが閉じられます。
- 編集スタイルに応じて以下の操作を行います。
※〔かんたん〕〔スタンダード〕:かんたんナビバー*2の[上書き保存]をクリックします。
*2かんたんナビバーが表示されていない場合は、[表示-かんたんナビ]を選択します。
※〔エディターズ〕:[ファイル-上書き保存]を選択します。
- [保存]ボタンをクリックします。
4 サイト転送
作成したファイルをサーバーへ転送します。
- 編集スタイルに応じて以下の操作を行います。
※〔かんたん〕〔スタンダード〕:かんたんナビバーの[ページの公開]ボタンをクリックし、[ページの公開]ダイアログボックスの[編集中のページを転送]ボタンをクリックします。
※〔エディターズ〕:[サイト-ページ転送]を選択します。
[ページ/サイト転送]ダイアログボックスが表示されます。
- [転送設定]が正しく選択されていることを確認し、[転送ファイルの一覧]に、今回変更したページ(説明の例では「contact.html」)、「anketo.cgi」などが転送対象に含まれていることを確認します。
- [一覧に追加]ボタンをクリックします。
[開く]ダイアログボックスが表示されます。
- [ファイルの種類]を[すべてのファイル]にし、「jcode.pl」を選択して[開く]ボタンをクリックします。
[ページ/サイト転送]ダイアログボックスに戻ります。
- [転送ファイルの一覧]に「jcode.pl」が追加されたことを確認し、インターネットに接続した状態で[転送]ボタンをクリックします。
転送完了後、「転送が完了しました。」とメッセージが表示されます。
- [終了]ボタンをクリックします。
- アクセス権(パーミッション)の変更を行うため、[ツール-ファイル転送ツールの起動]を選択します。
[ファイル転送]ツールが起動します。
- [接続]をクリックし、右側に表示された<anketo>フォルダー*1をダブルクリックして開きます。
*1この例では、CGIプログラムを設置するフォルダーは転送先フォルダー</public_html>内の</anketo>となっています。
「anketo.cgi」、「jcode.pl」が表示されます。
- 「anketo.cgi」ファイルの上で右クリックして表示されるメニューで[アクセス権の変更]を選択します。
[アクセス権の変更]ダイアログボックスが表示されます。
- すべてのユーザーに読み込み権と実行権を与えるので、[755]となるように設定します。「jcode.pl」ファイルについては[644]となるように設定します。
- [切断]ボタンをクリックしてから、ファイル転送を閉じます。
- 以上で設定は終わりです。
▼注意
フォーム(CGIプログラム)の動作はプレビュー画面などで確認することはできません。転送完了後、ブラウザーでフォームを挿入したホームページを表示し動作を確認します。
■関連情報