#!/usr/bin/perl
use CGI;
use DBI;
use strict;
my $req = new CGI;
my $BDDriver = "DBI:Oracle:host=sunensc.uqac.ca;sid=dimbd;port=1521";
my $BD_Username ="NULL";
my $BD_Password ="NULL";
print $req->header();
print $req->start_html("Resultat de la request");
if ($req->request_method() eq "POST") {
my @contactInfo = ($req->param("nom"),$req->param("telephone"),$req->param("courriel"));
if ( saveContact(@contactInfo) eq 0 )
{
print "Contact ".$req->param("nom")." saved successfully:";
}
showContacts();
}
else {
print $req->h1("Error: unknown method used");
}
print $req->end_html;
sub saveContact
{
my @contactInfo = @_;
if (@contactInfo[0] eq "" || @contactInfo[1] eq "" || @contactInfo[2] eq "" ) {
print $req->h1("Error: contact information are missing");
}
else
{
# On enregistre dans la BD
my $dbh = DBI->connect($BD_Driver, $BD_Username, $BD_Password) or die "Database connection could not be made: $DBI::errstr\n";
my $sth= $dbh->prepare("INSERT INTO contacts (nom,telephone,courriel) VALUES ('".@contactInfo[0]."','".@contactInfo[1]."','".@contactInfo[2]."')")
or die "Could not save contact: $DBI::errstr\n";
$sth->execute();
$sth->finish;
$dbh->disconnect;
return 0;
}
}
sub showContacts
{
my $dbh = DBI->connect($BD_Driver, $BD_Username, $BD_Password) or die "Database connection could not be made: $DBI::errstr\n";
my $sth= $dbh->prepare("SELECT * FROM contacts")
or die "Could not save contact: $DBI::errstr\n";
$sth->execute();
print "
";
while (my @ary = $sth->fetchrow_array) {
foreach (@ary) {
print "$_ ";
}
print "
";
}
$sth->finish;
$dbh->disconnect;
return 0;
}