Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > Login page perl/CGI

Reply
Thread Tools

Login page perl/CGI

 
 
sandy
Guest
Posts: n/a
 
      04-27-2007
hello,,,,,,,,,
i am creating login page using Perl/CGI facing prob... able to
connect DB but from there facing prob
If u have related code of login page in Perl please send me on


please help me


i am using MySQL as DB user name:root password:root database name:ITS

and Table is User_login,
Column 1: User_Name
Column 2: User_Pass

--
#!c:/perl/bin/perl.exe
use CGI qw(:standard);
use CGI::Carp qw(warning's fatalsToBrowser);
use strict;
use DBI;


print "Content-type: text/html\n\n";
print <<BodyHTML;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html lang="en" xml:lang="en" xmlns=" http://www.w3.org/1999/xhtml">
<head>
<title>Registration Form</title>
</head>

<body>
<form name = "login" action = "logincheck.cgi " method = "POST">
<table>
<tr>
<td>
User Name<br />(25 characters or less)
</td>
<td>
Password<br />(8 - 15 alphanumeric characters)
</td>
</tr>
<tr>
<td><input type = "text" name = "UserName" id = "UserName" size = "25"
maxlength = "25" tabindex = "0" />
</td>
<td><input type = "text" name = "Password" id = "Password" size = "15"
maxlength = "15" tabindex = "1" />
</tr>
<tr>
<td>
<input type = "submit" value = "Login" tabindex = "2" />
</td>
</tr>
<tr>
<td>
<p>To register go to the <a href = "register.cgi">registration</a>
page.</p>
</td>
</tr>
</table>
</form>
BodyHTML
print end_html;

my $dbh = DBI->connect("DBI:mysql:database:localhost","its","roo t",
{ RaiseError => 1,
AutoCommit => 1 }) or &dienice("Can't connect to database:
$DBI::errstr");

my $UserName=param('UserName');
my $Password=param('Password');
my $sth = $dbh->prepare("select * from User_Login where User_Name
= ?") or &dbdie;
$sth->execute($UserName) or &dbdie;
if (my $name = $sth->fetchrow_hashref)
{
my $sth = $dbh->prepare("select * from user_Login where root = ?") or
&dbdie;
$sth->execute($Password) or &dbdie;
if (my $pass = $sth->fetchrow_hashref)
{
print redirect(- location=>"index.cgi");
}
else { &dienice(qq(The password is invalid. Go to the <a href =
"passreset.cgi">password reset</a> page to reset your password.)); }
}
else { &dienice(qq(Username does not exist. Go to the <a href = "
custreg.cgi">registration</a> page to register.)); }
$dbh->disconnect;
print end_html;

sub dienice {
my ($msg) = @_;
print "<h1>$msg</h1>";
exit;
}

sub dbdie {
my ($errmsg) = "$DBI::errstr<br />";
&dienice($errmsg);
}
Sandip B Bhosale.

 
Reply With Quote
 
 
 
 
Brian McCauley
Guest
Posts: n/a
 
      04-27-2007
On Apr 27, 6:47 am, sandy <sandip.bhos...@gmail.com> multiposts

Please don't.

 
Reply With Quote
 
 
 
 
J. Gleixner
Guest
Posts: n/a
 
      04-27-2007
sandy wrote:
> hello,,,,,,,,,
> i am creating login page using Perl/CGI facing prob... able to
> connect DB but from there facing prob


Try facing North instead of prob.
[...]
> please help me


Create a program that works from the command line, no HTML. Once
that works, then add in the HTML.

> i am using MySQL as DB user name:root passwordxxx database name:ITS

ahhhh.. the values for your username and password and database aren't
important..

> and Table is User_login,
> Column 1: User_Name
> Column 2: User_Pass
>
> --
> #!c:/perl/bin/perl.exe
> use CGI qw(:standard);
> use CGI::Carp qw(warning's fatalsToBrowser);
> use strict;
> use DBI;
>
>
> print "Content-type: text/html\n\n";

[...]

sooo.. you're using the CGI module but you aren't using any of CGI's
modules to help you with your HTML???.. If all you want is the
param method, then you don't need :standard. If you're going to
include all of the 'standard' methods, then use them.


> my $dbh = DBI->connect("DBI:mysql:database:localhost","its","roo t",
> { RaiseError => 1,
> AutoCommit => 1 }) or &dienice("Can't connect to database:
> $DBI::errstr");


Read up on what 'RaiseError' does. 'dienice' for a subroutine that
doesn't actually call die, isn't nice.

No need for '&'.

> my $UserName=param('UserName');
> my $Password=param('Password');
> my $sth = $dbh->prepare("select * from User_Login where User_Name
> = ?") or &dbdie;


Hopefully you're not storing your customer's passwords in clear text.
Encrypt them, somehow.

> $sth->execute($UserName) or &dbdie;
> if (my $name = $sth->fetchrow_hashref)
> {
> my $sth = $dbh->prepare("select * from user_Login where root = ?") or
> &dbdie;


'where root = ?' ????

You have a column named 'root'?

Maybe...

if( param('UserName') and param('Password') )
{
my $sql = 'select 1 from user_login where user_name=? and user_pass=?';
my $sth = $dbh->prepare( $sql );
$sth->execute( param('UserName'), param('Password') );
etc..
}
else
{
#print some message here..
}

> $sth->execute($Password) or &dbdie;
> if (my $pass = $sth->fetchrow_hashref)
> {
> print redirect(- location=>"index.cgi");
> }
> else { &dienice(qq(The password is invalid. Go to the <a href =
> "passreset.cgi">password reset</a> page to reset your password.)); }
> }
> else { &dienice(qq(Username does not exist. Go to the <a href = "
> custreg.cgi">registration</a> page to register.)); }


If your site has any personal information on it, about the customer,
then don't provide the reason why it failed. Just state that the
username or password is not found, in one message.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
login page stays on login page Shannon ASP .Net 2 01-09-2008 10:51 PM
Specify login page other than Login.aspx vikramp ASP .Net 2 10-20-2006 08:59 PM
asp:login w/ ASP.NET 2.0 -- still can't get basic login page to work Sasquatch ASP .Net 2 10-04-2006 04:04 PM
Can't create simple login page using asp:login control Sasquatch ASP .Net 2 10-03-2006 09:22 PM
Forms Login Page Not Login Out Hermit Dave ASP .Net 5 01-13-2004 07:14 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57