
Tim
Deleted
Mar 5, 2000, 9:23 AM
Post #9 of 14
(5804 views)
|
Re: Finding email address in flat file database...
[In reply to]
|
Can't Post
|
|
Hi, You're correct in your statement about what I'm trying to do. As it is now, I continue to get the else statement even though the email is in the database. Here is the script in its entirety. Maybe I have something wrong somewhere else? ################################## #!/bin/perl ################################## print "Content-type: text/html\n\n"; #Define Variables $mail = "/bin/sendmail"; $log = "/home/public_html/script/register.log"; $admin = "mysite\@mysite.com"; $sitename = "My site"; $memberurl = "www.mysite.com/members/"; &form_parse; $lostmail = $FORM{'email'}; open (DB, "$log") or "couldnt open $!."; CURE: while(<DB> ){ ($date,$mememail,$pass,$username)=split(/\;/,$_,4); if ($mememail =~ /$lostmail/i) { print "Your username and password has been sent to $lostmail"; &getpassword($pass,$username); last CURE; } else { #getpassword(); print "Your email address was not found in our database."; last CURE; } } close(DB); ########################################### # MAIL INFO ########################################## sub getpassword { open (MAIL, "| $mail $lostmail"); print MAIL "Reply-to: $admin\n"; print MAIL "From: $admin\n"; print MAIL "To: $lostmail\n"; print MAIL "Subject: Lost Password Recovery - $sitename\n\n"; print MAIL "The members url is http://$memberurl\n"; print MAIL "Your username is $username\n"; print MAIL "Your password is $pass\n\n"; print MAIL "Bookmark the following url:\n"; print MAIL "http://$username:$pass\@$memberurl\n\n"; print MAIL "You registered on $date\n"; close MAIL; } ################################################################################ # FORM PARSE ################################################################################ sub form_parse { read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @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; $FORM{$name} = $value; }} ######################################## sub errormessage { print "The server can't open the logfile. It either doesn't exist or the permissions are wrong. \n"; exit; }
|