Perl and CGI

 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me



Go Back   Tutorialized ForumsWeb Design & DevelopmentPerl and CGI

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Tutorialized Forums Sponsor:
  #1  
Old September 11th, 2008, 04:35 PM
ccrstaff ccrstaff is offline
Registered User
Tutorialized Newbie (0 - 499 posts)
 
Join Date: Sep 2008
Posts: 2 ccrstaff User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 30 m 54 sec
Reputation Power: 0
Pulling First Names From Database

I am new to CGI and Perl so please be patient with me if I ask some dumb questions. I have a form that requests an email address and password. Upon clicking the Submit button I want to connect to the database, find the email address in the table and return a page displaying the first name of the client. I'm using Apache to test the script, so it isn't uploaded to my server for public viewing, but if it helps I will gladly do so. The script I have so far, connects to the db, but it doesn't return any names. Here the script I have so far:

#!/perl/bin/perl

use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use DBI;
use Time::Local

print header;
# Page title on top of webpage
print start_html("Client Login");

# delcare fields
my($mail_id, $password_id, $client_id, $fname);

# Connect to the database
my $DSN = 'driver=Microsoft Access Driver (*.mdb);dbq=C:\Documents and Settings\Mike\My Documents\My Website\Clients.mdb';
my $dbh = DBI->connect("DBI:ODBC:$DSN")
or die "$DBI::errstr\n";
$::db_host = 'localhost';
$::db_name = 'Clients.mdb';
$::db_user = 'root';

# The SQL that I want to run
# 1st, get the client_id for the mail_id entered on the form
my $sth = $dbh->prepare("SELECT client_id FROM tblClients WHERE mail_id = '$mail_id'")
or die "prepare failed: " . $dbh->errstr();
$sth->execute() or die "execute failed: " . $sth->errstr();
($client_id) = $sth->fetchrow();

#The line below keeps causing an error saying "client_id cannot be found"
die "client_id not found" unless defined $client_id;

# 2nd, for each mail_id in the table, grab the fname and print it on the page
while (($client_id) = $sth->fetchrow()) {
my $sth = $dbh->prepare("SELECT fname FROM tblClients WHERE client_id = $client_id")
or die "prepare failed: " . $dbh->errstr();
$sth->execute() or die "execute failed: " . $sth->errstr();
my($fname) = $sth->fetchrow();
print " $fname\n";
$sth->finish();
}

$sth->finish();

$dbh->disconnect();

#End page

Any help, tips or suggestions will be greatly appreciated. I've been stuck on this for 3 days. Thank you in advance
Mike

Reply With Quote
Reply

Viewing: Tutorialized ForumsWeb Design & DevelopmentPerl and CGI > Pulling First Names From Database


Developer Shed Advertisers and Affiliates


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 

Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

© 2003-2018 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap