難しいですね。
ファイルはcargo.cgiとwebform.cgiです。
手を加えるのはwebform.cgiだけで良いのでしょうか?
cargo.cgiの記入フォームは
print "<tr><th align=\"left\">希望ID</th>\n";
print "<td><input type=text name=\"f希望ID\" size=\"30\" style=\"ime-mode: active\"> *(半角英数8文字)</td></tr>\n";
を追加しました。その後
webform.cgiで
#★ 空欄防止対策、及び購入者、届け先に敬称を追記
if ($name =~ /^N/) { $num_n = $value; $name =~ s/^N//; $value .= "\x81\x40様" if $value ne ''; }
if ($name =~ /^d/) { $num_d = $value; $name =~ s/^d//;}
if ($name =~ /^f/) { $num_f = $value; $name =~ s/^f//;}
elsif ($name =~ /^Z/) { $num_z = $value; $name =~ s/^Z//; }
elsif ($name =~ /^A/) { $num_a = $value; $name =~ s/^A//; }
elsif ($name =~ /^P/) { $num_p = $value; $name =~ s/^P//; }
elsif ($name =~ /^C/) { $name =~ s/^C//; $value .= "\x81\x40様宛" if $value ne ''; }
でチェックして
#★ 空欄対策のアラート。domcheck.pl を使うなら下の # を取り、 if ($mailcheck && $email eq '') を # でコメントアウトする
if ($mailcheck && $email eq '') { &error('ご注文いただけません', '申\込者Eメールを入力しないと送信できません'); }
#&domcheck($email);
if ($num_n eq '') { &error('未入力があります','申\込者氏名が未記入です'); }
if ($num_z eq '') { &error('未入力があります','振り\込み名義人が未記入です'); }
if ($num_a eq '') { &error('未入力があります','振込予\定日が未記入です'); }
if ($num_p eq '') { &error('未入力があります','振込予\定時間が未記入です'); }
if ($num_f eq '') { &error('未入力があります','希望IDが未記入です'); }
if ($num_d eq '') { &error('未入力があります','今後のバージョン情報が未記入です'); }
で空欄検出し空欄があればエラーが出るようにしています。
この希望IDの部分を空欄及び半角英数8文字でチェックしたいのです。
すいません長々と書きまして、ご指導願えますでしょうか?
もう3日以上悩んでます。