CGI-BBS > 情報収集 > フォームメール > WEBFORMの必須項目設置がうまくできません


カレッヂ
カレッヂ


質問者 なかなかむ  投稿日 2016/12/20(火) 14:31:06
会社のホームページを作成しているところですが、初心者なのでわからないことが多々あり勉強しながら進めております。よってサーバーにはアップされておらず、更にわかりづらいところもあるかと思いますがよろしくお願い致します。

まず、こちらの(http://www.rescue.ne.jp/CGI-BBS/an/formmail/20010416182654.shtml)ページを参考にし、以下のようにすすめました。

		if ($name =~ /^email/i || $name =~ /^e\-mail/i) {

			$value =~ s/ / /g;
			if ($value =~ / / || $value =~ /;/) { $value = ""; }
			if (!($value =~ /(.*)\@(.*)\.(.*)/)) { $value = ""; }

			$email = $value;
		}
の下に

if ($name =~ /^お名前/ || $name =~ /^お\名前/) {
 $appname = $value;
 }
 if ($name =~ /^E-Mail/ || $name =~ /^E\-Mail/) {
 $appaddress = $value;
 }
if ($name =~ /^電話番号/ || $name =~ /^電\話番号/) {
 $appname = $value;
 }
 if ($name =~ /^お問い合せ内容/ || $name =~ /^お\問い合せ内容/) {
 $appaddress = $value;
を追加しました。

次に、
if ($email eq '' || $email =~ /\,/) { print "<font size=+2><b>メールアドレスを正しく1つ入力しないと送信できません</b></font><p>\n"; }
else { print "<input type=submit value=\"  送 信  \"><p>\n"; }
の上に
if ($appname eq '') { print "<font color=\"blue\" size=+2><b>お\名前を入力しないと送信できません</b></font><p>\n"; }
if ($appemail eq '') { print "<font color=\"blue\" size=+2><b>E\-Mailを入力しないと送信できません</b></font><p>\n"; }
if ($apptel eq '') { print "<font color=\"blue\" size=+2><b>電\話番号を入力しないと送信できません</b></font><p>\n"; }
if ($appmessage eq '') { print "<font color=\"blue\" size=+2><b>お\問い合せ内容を入力しないと送信できません</b></font><p>\n"; }
を追加しました。

そうすると、試しに必須項目部分を入力して内容確認後送信としてみようとしますと、

項目 内容 
 業者様名 
 お名前   中角丸子 
 E-Mail   naka@gmail.com 
 電話番号  01-1234-5678 
 FAX番号   
 お問い合せ内容  テスト   のように確認内容が出た下側に

E-Mailを入力しないと送信できません
電話番号を入力しないと送信できません
お問い合せ内容を入力しないと送信できません  のように入力してあってもエラー表示がでます。

どこをどう直したら入力してあるのにエラーがでてしまう状況が直せるでしょうか?
ご教授いただければ幸いです。よろしくお願い致します。

【習熟度:初心者】































【習熟度】初めて

回答者 林檎  [削除]  投稿日 2016/12/21(水) 13:06:59
こんにちは。
http://www.rescue.ne.jp/cgi/webform/
こちらの CGI の設置をされているんですよね。

このCGIはユーザ側で必須項目を設定できるようにはなっていないようです。
CGIを改造させて対応するには Perl や CGI の知識が必要になります。

提案ですがこのCGIを改造するより必須項目対応のスクリプトをおすすめします。
よそのサイトですが
↓
http://www.kent-web.com/mail/postmail.html
自分も使ったことありますが、使いやすいですよ。もちろん必須項目をhtml側で自由に設定可能です。
質問者 なかなかむ  [削除]  投稿日 2016/12/21(水) 16:23:12
林檎様、前回に引き続き回答いただき有難うございます。
WEBFORMはユーザ側で必須項目設定ができないとのこと、有難うございました。

教えていただきましたPOSTMAILの設置を試してみましたが、今回もうまくいかずにおります。
HP作成ソフトはホームページビルダー17を使い、会社のプロバイダはBIGLOBEです。
また、エディタはメモ帳は使わずTeraPadを使って開いております。
もしよろしければ今回もご指摘いただければ幸いです。

・init.cgiをエディタで開いて必要箇所を修正
・postmail.cgi及びcheck.cgiをエディタで開いてPerlへのパスを指定
・各ファイルを所定のディレクトリへFTP転送しパーミッションを指定

以上のことを試しにやってみましたが、cgiが動かずフォームが呼び出されないのです。


問い合わせフォームを入れたいところへのHTML入力が間違っているのでしょうか?
<form method="POST" action="http://www1a.biglobe.ne.jp/ユーザアカウント/public_html/postmail/postmail.cgi">
と入力しています。

postmail.cgiが動けばpostmail.html(送信ひな形)が可動すると思って間違いないでしょうか?


今回もわかりづらい内容だと思いますが、回答いただければ幸いです。
よろしくお願い致します。
回答者 林檎  [削除]  投稿日 2016/12/22(木) 04:19:46
紹介したCGIは以下のサイトで配布されているものです。
http://kent-web.com

こちらのトップページの中ほどに「サポートコーナー」があります。
ログインID を取得後、サポート掲示板に入れますので質問はこちらでお願いします。
今書かれているものでOKです。(CGIの質問は配布元でするのがルールです)
こちらはいったん閉じましょう。

>問い合わせフォームを入れたいところへのHTML入力が間違っているのでしょうか?

質問ですが一応、前回と同じで URL には public_html は含まれません。

>postmail.cgiが動けばpostmail.html(送信ひな形)が可動すると思って間違いないでしょうか?

流れが逆です。まずブラウザで 送信用のフォーム(postmail.html(送信ひな形))にアクセスして表示します。
フォームで表示された「送信」ボタンを押すと formタグの action で指定された postmail.cgi が動作して
「確認画面の表示」→「メール送信」 という一連の処理が動きます。
質問者 なかなかむ  [削除]  投稿日 2016/12/22(木) 09:49:32
林檎様、返信いただきありがとうございます。

また、KENT-WEB様のcgiに対する質問なのに一部返答いただきまして恐縮しつつ、有り難く思っております。
piblic_htmlを入れないことと、考え方の順番が逆のことを頭にいれ、今後の勉強にいかしていきたいと思います。

質問はそのプログラム作成者にするという当たり前のことも教えていただき、本当に有難うございました。
こちらの質問はこれで閉じさせていただきます。

このページは終了したので返信(回答)は書きこめません
 


Web裏技