#!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw/fatalsToBrowser warningsToBrowser/; #fatalsToBrowser(1); use DBI; use strict; use Data::Dump qw(dump); my $q = CGI->new(); print $q->header(-cache_control=>"no-cache, no-store, must-revalidate"); print < Login Page
User Name
(25 characters or less)
Password
(8 - 15 alphanumeric characters)
BodyHTML my ($DBserver, $DBdatabase, $DBuser, $DBpassword) = ('LOCALHOST','testdb','kbuttler','gghy'); my $dbh = DBI->connect("DBI:Sybase:server=$DBserver;database=$DBdatabase",$DBuser,$DBpassword) or die "Can't connect to Sybase database: $DBI::errstr\n"; my $usernamequery = param("UserName"); my $username_q = $dbh->quote($usernamequery); my $passwordquery = (param("Password")); my $password_q = $dbh->quote($passwordquery); my $sth1 = $dbh->prepare("select username from logintable where username = $username_q "); $sth1->execute(); my $row1 = $sth1->fetchrow_arrayref(); if ( $row1->[0] eq $usernamequery ) { my $sth2 = $dbh->prepare("select password from logintable where password = $password_q "); $sth2->execute(); my $row2 = $sth2->fetchrow_arrayref(); $sth2->finish(); if ( $row2->[0] eq $passwordquery ) { print $q->redirect("http://localhost/cgi-bin/librarian.cgi"); } else { &dienice(qq(The password is invalid.)); exit; } } else { &dienice(qq(Username does not exist.)); exit; } $sth1->finish(); $dbh->disconnect; print end_html; sub dienice { my ($msg) = @_; print "

$msg

"; exit; }