カレッヂ |
質問者 うすら専務
投稿日 2005/7/19(火) 15:18:38
メールフォームを作っているのですが、どうもうまく動作しません。 というのも、入力必須項目が空欄の場合、「送信されない」ようにしたいのです。 テキストフィールドとしては「$email」と「$tel」が空欄の場合、エラーページ に移行させたいと考えています。ご教授願いませんでしょうか? require './admin/jcode.pl'; $email = param('email'); if ($email ne ''){ $clength = $ENV{'CONTENT_LENGTH'}; if ($clength ne '') { read(STDIN, $query_string, $clength); @elements = split(/&/, $query_string); $i = 0; foreach $element (@elements) { ($key, $buf) = split(/=/, $element); $key =~ tr/+/ /; $key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*key, 'jis'); @name[$i] = $key; $buf =~ tr/+/ /; $buf =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*buf, 'jis'); @value[$i] = $buf; $i++; } &jcode'convert(*sname, 'jis'); &jcode'convert(*subject, 'jis'); &jcode'convert(*ftitle, 'jis'); open (MAIL, "| $sendmail -f $smail $trans"); if ($sname ne '') { print MAIL "From: \"$sname\" <$smail>\n"; } else { print MAIL "From: $smail\n"; } print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n"; print MAIL "Subject: $subject\n"; print MAIL "\n"; print MAIL "$ftitle\n"; print MAIL "\n"; $tmp = '受付内容'; &jcode'convert(*tmp, 'jis'); print MAIL "$tmp\n"; print MAIL "----------------------------------------------------------------------\n"; for($j = 0; $j < $i; $j++) { print MAIL $j+1 . ": @name[$j] => @value[$j]\n"; } print MAIL "----------------------------------------------------------------------\n"; close(MAIL); print "Location: $query_file\n\n"; } } else { print "Location: $query_file_error\n\n"; exit(0); }
【プロバイダ】1-man.net |
回答者 sim
[削除]
投稿日 2005/7/25(月) 20:34:28
if(!$email || !$tel){print "Location: $query_file_error\n\n";} &jcode'convert(*sname, 'jis'); &jcode'convert(*subject, 'jis'); &jcode'convert(*ftitle, 'jis'); こんな感じにしてやればいいんじゃないでしょうか? |
返信(回答)する
Web裏技 |