![]() |
| カレッヂ |
質問者 うすら専務
投稿日 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裏技 |