CGI-BBS > SO−HO > ショッピングバスケット > 必須事項にしたい


カレッヂ
カレッヂ


質問者 taka  投稿日 9/19(水) 12:32:59
V6を利用したいと思っています。
お申し込み用フォームの空欄防止のために名前、住所、連絡先等を必須事項にしたいのですが、
どなたか教えてください。よろしくお願いします。
回答者 呑兵衛  [削除]  投稿日 9/20(木) 00:59:04
呑兵衛@大阪です。

いろいろ方法があると思いますが、このような対応はいかがでしょうか。
フォームのname属性値の接頭に N などのアルファベットを付ける。

お名前 <input type=text name="N申込者氏名" value="" size=30> (必須)
これをURLデコードされた段階で、(このバージョンでは %key の連想配列に各値が格納されますが、)
if ($key =~ /^N/) { $in{'number_n'} = $val; }
と受ける。

その後、確認画面でフィルターを掛け、
if ($in{'number_n'} eq '') { &error('!未記入があります', '申込者のお名前が未記入です'); }
と処理。
接頭name属性値がついたまま画面や、メールに出力されるのを防ぐために、
ループで処理する出力段階で、
$key =~ s/^N//g;
のように削除する。
という処理です。


質問者 taka  [削除]  投稿日 9/20(木) 17:03:40
呑兵衛さんありがとうございます。
そのとおりにやってみました。はじめてでしたが、何とか書いてある分はやり遂げました。
うれしくて、早速お返事書いてます。
大変助かりました。まだ、名前しか必須事項に出来てないので他のも頑張ってやってみます。
本当にご親切にありがとうございました。

・・・ところで、if($in{number...の部分ですが、”がひとつ抜けてるんではないでしょうか。”入れたら、うまくいきました。         taka 

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

Web裏技