#!"C:\xampp\perl\bin\perl.exe"
use strict;
use warnings;
use CGI::Pretty ':standard';
use CGI::Carp qw(fatalsToBrowser);
my @usernames;
my @passwords;
my $username;
my $password;
my $buttonPressed = param('submit') || 'Start';
my $site = "";
open(DEBUG,">","debug.txt") or die "$!\n";
open(INFILE, "<", "users.txt");
my @temp;
@temp = <INFILE>;
chomp(@temp);
close INFILE;
for(my $i = 0; $i < scalar(@temp); $i+=2)
{
push(@usernames, $temp[$i]);
}
for(my $i = 1; $i < scalar(@temp); $i+=2)
{
push(@passwords, $temp[$i]);
}
&decideAction($buttonPressed);
sub decideAction
{
my $previousButton=shift;
if ($previousButton =~ /^Start$/ || $previousButton =~ /^Log\sOut$/)
{
&printForm('First');
}
if ($previousButton =~ /^Log\sIn$/)
{
&printForm('Second');
}
if ($previousButton =~ /^Log\sOut$/)
{
&printForm('First');
}
}
sub printForm
{
my $action = shift;
my $problem=shift;
my $userIndex = -1;
if($action=~/^First$/)
{
&firstPage($problem);
}
elsif ($action=~/^Second$/)
{
my $username = param('user');
my $password = param('pass');
if(! $username)
{
&firstPage('Please enter the username.');
}
elsif(! $password)
{
&firstPage('Please enter the password.');
}
else
{
$userIndex = &checkUsername(@usernames);
if($userIndex != -1)
{
if(&checkPassword($userIndex, @passwords))
{
secondPage($problem);
}
}
else
{
&firstPage("Invalid Password.");
}
}
}
}
sub checkUsername{
my @temp = @_;
my $username = param('user');
for(my $i = 0; $i < scalar(@temp); $i++)
{
if($temp[$i] =~ /$username/i)
{
return $i;
}
}
return -1;
}
sub checkPassword{
my $userIndex = shift;
my @passwds = @_;
my $pass = param('pass');
if($pass eq $passwds[$userIndex])
{
return 1;
}
else{
return 0;
}
}
sub firstPage
{
my $problem = shift;
print header();
print start_html('Contact form');
print h2('Please Log in');
if($problem)
{
print h3($problem);
}
print start_form('get');
print "Login: ", textfield(-name=> 'user');
print br();
print "Password: ", password_field(-name=> 'pass');
print br();
print &button('Log In');
print end_form();
print end_html();
}
sub secondPage
{
my $problem=shift;
print header();
print start_html('Contact form');
print h2('Please enter your details:');
if($problem)
{
print h3($problem);
}
print "Name:", textfield(-name=> 'name');
print br();
print "Phone number:", textfield(-name=> 'phone');
print br();
print &button('add',100);
print &button('find',101);
print &button('display',102);
print &button('Log Out',103);
print end_form();
}
sub printHeader
{
print header,
start_html($site),
}
sub printFooter
{
print end_html;
}
sub searchUser
{
$username = shift;
for(my $i = 0; $i < scalar(@usernames); $i++)
{
if($usernames[$i] eq $username)
{
return $i;
}
}
return -1;
}
sub searchPassword
{
$username = shift;
for(my $i = 0; $i < scalar(@passwords); $i++)
{
if($passwords[$i] eq $password)
{
return $i;
}
}
return -1;
}
sub button
{
my $button=shift;
return submit(-name=>'submit',-value=>$button);
}