#!/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/\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__;

__FOOTER__ } sub checkempty() { if($key eq 'mail') { if($val eq "") { $emptychk = 1; print "メールアドレスが記入されていません。
\n"; } } if($key eq 'pass') { if($val eq "") { $emptychk = 1; print "パスワードが記入されていません。
\n"; } } if($key eq 'handle') { if($val eq "") { $emptychk = 1; print "ハンドルネームが記入されていません。
\n"; } } }