- ベストアンサー
メールフォームのCGIプログラムの動作について
自分のホームページを制作しています。 氏名や住所・質問項目を入力しWebフォームから送信して、メールで受信するようなメールフォームページを作っていますが、 メールフォームの項目をテキスト形式(自由記述形式)からプルダウン選択式に変更したところ、メールフォームが正常に動作しなくなりました。 メールフォームの項目(html)を変更した場合、 それに対応したCGIプログラムも修正する必要があるのでしょうか。 素人のため、アバウトな表現になってしまい 申し訳ありませんが、とても困っていますので 教えて頂ければと思います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは <textarea name="内容">がデフォルトの部分ですよね? でしたら<select name="内容">としないといけないと思います 例えば<input type="text" name="name">でのフォームで『山田』と入れたとしましょう これをselectで『山田』を選ぶとしたら <select name="name"> <option value="">選択してください</option> <option value="鈴木">鈴木</option> <option value="佐藤">佐藤</option> <option value="山田">山田</option> </select> となり、セレクトボックスで『山田』を選択すればテキストボックスで『山田』と記入したのと同じになります >項目を1個新しく追加した場合もCGIを変えなくて大丈夫でしょうか こちらはCGIの方も変更してやらないとダメです CGIの方で『$in{'**'}』のような部分がありませんか?(他の取得方法もあるので違うかもしれませんが(--;) ここでformに記入された値を取得しています ですので例えば趣味の項目を増やしたとしましょう <input type="text" name="shumi">趣味を記入してください これをCGIの方で使うとしたら $in{'shumi'} のようにして使用します
その他の回答 (1)
- leap_day
- ベストアンサー率60% (338/561)
こんにちは <input type="text" name="***" value=""> から <select name="**"> <option value="選択してください"></option> <option value="1">sample01</option> <option value="2">sample02</option> </select> のように変えたって事ですよね? name="**"の『**』の部分が変わっていなければ正常に作動すると思いますよ
お礼
ご回答ありがとうございます。確認してみます。 また、項目を1個新しく追加した場合も CGIを変えなくて大丈夫でしょうか。
補足
フォームは、以下のように変更しました。 <textarea name="内容"> 自由記述欄 ↓ <select name="course"> 選択式