Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Perl CGI help...

hopefulcdhopefulcd Posts: 1Member
Hi all, I'm having a frustrating error that I'm somewhat confused about. I'm writing a simple perl script as a cgi for a login. I've run through a lot of tests to try to figure out where the error is, but so far it's not been successful. The perl code is as follows:

#!/usr/bin/perl -wT

use CGI;
use CGI::Cookie;
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use Fcntl qw(:flock :seek);
use Fcntl;
use strict;

my (
$name, #username they type in
$pass, #password they type in
$sys_name, #username in the member file
$sys_pass, #password in the member file
@members, #array of all members
$dirto_members_list, #directory to members file
$valid_name, #variable to determine name validity
$valid_pass, #variable to determine password validity
$cookie #cookie used to dtermine if they're logged in or not
);

$name = param('username');
$pass = param('password');

print header;
print start_html('Login Status');

#########################################################################
# Check the name & password in the members file
#########################################################################

$dirto_members_list = "/home/hopefulc/public_html/cgi-bin/koh_members_list.cgi";

open (MEM, $dirto_members_list) || die("The File could not be opened!"); #open the members file
flock (MEM, LOCK_SH);
seek (MEM, 0, SEEK_SET);
@members = <MEM>;
chomp (@members);

close(MEM); #close the members file

$valid_name = 0;
$valid_pass = 0;

foreach my $mem (@members)
{
($sys_name, $sys_pass) = split (/|..|/, $mem);

if ($name eq $sys_name)
{
$valid_name = 1;

if ($pass eq $sys_pass)
{
$valid_pass = 1;
print "Congratulations $name, you logged in!
<br><br>
";
}
else
{
print "Sorry, you didn't type in the correct password.
<br><br>
";
}
}
}

##########################################################################

print end_html;


The tests that I've run through include checking the file permissions and setting them to 0755, carefully checking the spelling in the files, checking the html form, and I also ran a slightly modified version of this code from the command line successfully.
The annoying Internal Server error that is in the Apache error log is as follows:

[Mon Jun 16 17:56:46 2008] [error] [client 76.193.171.114] File does not exist: /home/hopefulc/public_html/500.shtml

The error seems very simple, except that I know the file does exist. If anyone has any suggestions to help it would be very much appreciated...
Sign In or Register to comment.