#!/usr/bin/perl

use DBI;

require './jcode.pl';
require './subfunc.cgi';
require './settings.cgi';

#==================================================================
#	設定
#==================================================================

#==================================================================
#	cookieの取得
#==================================================================
$cookies = $ENV{'HTTP_COOKIE'};
@pairs = split(/ /, $cookies);
foreach $pair (@pairs) {
	($name, $value) = split(/=/, $pair);
	$value =~ s/\;//g;
	$cc{$name} = $value;
}

#==================================================================
#	引数を解析する
#==================================================================
if ($ENV{'REQUEST_METHOD'} eq "POST") {
	read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
	$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
	($name, $value) = split(/=/, $pair);
	$value =~ tr/+/ /;
	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
	$value =~ s/\n//g;
	&jcode'convert(*value,'sjis');
	$PARA{$name} = $value;
}

if( $PARA{mode} eq "out" ) {
	if( $cc{LoginID} eq "" ) {	# ログインされてない時
		&disp_message( "<b><font color='red'>ログインしていません。</font></b>", "../" );
		exit;
	}
	&Logout;
	exit;
}
if( $PARA{mode} eq "pre" ) {
	if( $cc{LoginID} ne "" ) {	# すでにログインされている時
		&disp_message( "<b>$cc{LoginName} 様</b>は既にログインされています。<p>引き続きお買い物をお楽しみ下さい。</p>", "../" );
		exit;
	}
	&disp_html( "" );
	exit;
}
&Login;
exit;

#==================================================================
#	ユーザーIDとPASSのチェック
#==================================================================
sub Login {

	$dbh = DBI->connect($data_source,$user_name,$user_pass) || die print "CONNECT ERROR $DBI::errstr";

	$sql = "select * from customer WHERE Id=? ;";
	$sth = $dbh->prepare($sql) || die $sth->errstr;
	$sth->execute( $PARA{id} ) || die $sth->errstr;

	($id,$pass,$zip,$adrs1,$adrs2,$adrs3,$name) = $sth->fetchrow();

	if( $sth->rows == 0 || $pass ne $PARA{pass} ) {
		if( $PARA{next} eq "kessai" ) {
			&disp_message( "<b><font color='red'>ログインエラーです。</font></b></p><p>ＩＤ、パスワードをお確かめ下さい。</p>", "login_now2.html" );
		} else {
			&disp_message( "<b><font color='red'>ログインエラーです。</font></b></p><p>ＩＤ、パスワードをお確かめ下さい。</p>", "./login.cgi?mode=pre" );
		}
	} else {
		print "Content-type: text/html;\n";
		print "Set-Cookie: LoginID=$id; path=/;\n";
		print "Set-Cookie: LoginName=$name; path=/;\n\n";
		if( $PARA{next} ne "" ) {
			&disp_message2( "<b>$name様</b> いらっしゃいませ", "$PARA{next}.cgi" );
		} else {
			&disp_message2( "<b>$name様</b> いらっしゃいませ", "../" );
		}
	}

	$sth->finish;
	$dbh->disconnect;
}

#==================================================================
#	ログアウト処理
#==================================================================
sub Logout {
	print "Set-Cookie: LoginID=;  path=/;\n";
	&disp_message( "ログアウトしました。", "../index.html" );
}
