#!/usr/local/bin/perl
use strict;
use CGI;
use DB_File;
use Fcntl;
require './jcode.pl';
my $sendmail = '/usr/lib/sendmail';
my $mail;
my $pass;
my $handle;
my $orghandle;
my $query;
my @query;
my $key;
my $val;
my $method;
my $emptychk;
my $registdb = './regist.db';
$emptychk = 0;
print "Content-type: text/html\n\n";
&addhead;
$method = $ENV{'REQUEST_METHOD'};
if($method eq 'GET') {
$query = $ENV{'QUERY_STRING'};
} elsif($method eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
die "error in parseInput()\n";
}
@query = split(/&/, $query);
foreach (@query) {
($key, $val) = split(/=/, $_);
$val =~ tr/+/ /;
$val =~ s/%([a-f\d]{2})/pack 'H2',$1/egi;
$val =~ s/&/&/g;
$val =~ s/"/"/g;
$val =~ s/</g;
$val =~ s/>/>/g;
$val =~ s/\r\n/\n/g;
$val =~ s/\n//g;
&checkempty;
if($key eq 'mail') {
unless($val =~ /.+\@.+\..+/ || /.+\@.+\..+\..+/ || /.+\@.+\..+\..+\..+/) {
$emptychk = 1;
print "入力されたメールアドレスは正しくありません!
メールアドレス --> $val
\n";
} else {
$mail = $val;
print "メールアドレス --> $mail
\n";
}
}
if($key eq 'pass') {
if($emptychk == 0) {
unless($val =~ /[0-9]||[a-z]||[A-Z]/) {
$emptychk = 2;
Print "パスワードは半角英数文字にして下さい!
パスワード -->$val
\n";
} else {
$pass = $val;
print "パスワード --> $pass
\n";
}
}
}
if($key eq 'handle') {
if($emptychk == 0) {
$orghandle = $val;
jcode::convert(*val,'sjis');
$handle = $val;
print "ハンドルネーム --> $handle
\n";
}
}
}
&addfoot;
sub addhead() {
print <<__HEADER__;
__HEADER__
}
sub addfoot() {
if($emptychk == 1) {
print "
";
print "入力された内容には誤りがあります。正しい情報を入れ直して下さい。
";
print "<< BACK
";
}
print <<__FOOTER__;