189 lines
5.6 KiB
Perl
Executable File
189 lines
5.6 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
#script cgi d'identification du client en ligne, avant de passer sa commande
|
|
|
|
use DBI;
|
|
use CGI;
|
|
|
|
require "cgi-lib.pl";
|
|
|
|
#lire l'identifiant du client
|
|
&ReadParse(*query);
|
|
|
|
$email = $query{'email'};
|
|
$entre1 = $query{'entre1'};
|
|
$entre2 = $query{'entre2'};
|
|
|
|
my $html = new CGI;
|
|
|
|
# chemin de la page d'une nieme saisie de l'identifiant du client
|
|
$URLBIS = "http://O2000/cgi/re_identifier.pl";
|
|
|
|
# chemin de la page catalogue
|
|
$URL_PRODUITS = "http://O2000/cgi/bdd_prod.pl";
|
|
|
|
# chemin de la page qui s'affiche si le mot de passe entre n'est pas le bon
|
|
$URL_FAUX_MOTDEPASSE = "http://O2000/cgi/faux_motdepasse.pl";
|
|
|
|
#print $html->header;
|
|
|
|
if ($entre1 eq $entre2){
|
|
# se connecter a la base
|
|
$dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr;
|
|
|
|
# rechercher le client dans la base pour savoir s'il est deja inscrit
|
|
$cursor = $dbh->prepare("SELECT * FROM base_clients WHERE email='$email' " );
|
|
|
|
$cursor->execute;
|
|
|
|
@reconnu = $cursor->fetchrow;
|
|
|
|
if (($reconnu[1] ne "") and ($reconnu[2] eq $entre2)){
|
|
|
|
client_reconnu();
|
|
|
|
}elsif (($reconnu[1] ne "") and ($reconnu[2] ne $entre2)){
|
|
|
|
print "Location: $URL_FAUX_MOTDEPASSE\n\n";
|
|
|
|
}else{
|
|
enregistrer_client();
|
|
}
|
|
|
|
$cursor->finish;
|
|
|
|
# se deconnecter de la base
|
|
$dbh->disconnect;
|
|
}else{
|
|
print "Location: $URLBIS\n\n";
|
|
}
|
|
|
|
sub enregistrer_client {
|
|
$html = new CGI;
|
|
|
|
# construire le numero du nouveau client
|
|
$count = $dbh->prepare("SELECT count(*) from base_clients");
|
|
$count->execute;
|
|
$nbclients = $count->fetchrow;
|
|
$nvclient = $nbclients + 1;
|
|
$count->finish;
|
|
|
|
# Inserer l'identifiant, l'adresse e-mail et le mot de passe du nouveau client dans la base
|
|
$enr = $dbh->prepare("INSERT INTO base_clients VALUES ('$nvclient','$email','$entre2')");
|
|
|
|
$enr->execute;
|
|
|
|
$enr->finish;
|
|
|
|
print $html->header;
|
|
print "<HTML>\n";
|
|
print "<HEAD>\n";
|
|
print "<TITLE>formulaire d\'enregistrement des coordonnées client</TITLE>\n";
|
|
print "</HEAD>\n";
|
|
|
|
print "<BODY BGCOLOR=\"\#ffffff\">\n";
|
|
print "<CENTER>\n";
|
|
print "<SPACER TYPE=\"block\" WIDTH=5 HEIGHT=15>\n";
|
|
# Formulaire d'affichage du descriptif des articles
|
|
print "<FORM METHOD=\"post\" ACTION=\"http://o2000/cgi/bdd_prod.pl\">\n";
|
|
print "<TABLE BORDER=0 CELLSPACING=3>\n";
|
|
print "<TH colspan=5><FONT SIZE=7>Vos coordonnées</FONT></TH>\n";
|
|
print "<TR >\n";
|
|
print "<TD COLSPAN=5><SPACER TYPE=\"block\" WIDTH=5 HEIGHT=15></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>Société : </TD>\n";
|
|
print "<TD COLSPAN=4><INPUT TYPE=text SIZE=65 MAXLENGHT=90 NAME=\"societe\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>Civilité : </TD>\n";
|
|
print "<TD COLSPAN=4 ALIGN=left><INPUT TYPE=radio NAME=\"civilite\" VALUE=\"Mme\">Mme\n";
|
|
print "<SPACER TYPE=\"block\" WIDTH=9>\n";
|
|
print "<INPUT TYPE=radio NAME=\"civilite\" VALUE=\"Mlle\">Mlle\n";
|
|
print "<SPACER TYPE=\"block\" WIDTH=9>\n";
|
|
print "<INPUT TYPE=radio NAME=\"civilite\" VALUE=\"M.\">M.</TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>Nom : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=25 MAXLENGHT=50 NAME=\"nom_client\"></TD>\n";
|
|
print "<TD></TD>\n";
|
|
print "<TD ALIGN=\"right\">Prénom : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=30 MAXLENGHT=50 NAME=\"prenom_client\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>Adresse : </TD>\n";
|
|
print "<TD COLSPAN=4><INPUT TYPE=text SIZE=65 MAXLENGHT=150 NAME=\"adr1\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD></TD>\n";
|
|
print "<TD COLSPAN=4><INPUT TYPE=text SIZE=65 MAXLENGHT=150 NAME=\"adr2\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>Code postal : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=12 MAXLENGHT=10 NAME=\"code_postal\"></TD>\n";
|
|
print "<TD></TD>\n";
|
|
print "<TD ALIGN=\"right\">Ville : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=30 MAXLENGHT=50 NAME=\"ville\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>tel : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=20 MAXLENGHT=20 NAME=\"tel_client\"></TD>\n";
|
|
print "<TD></TD>\n";
|
|
print "<TD ALIGN=\"right\">Fax : </TD>\n";
|
|
print "<TD><INPUT TYPE=text SIZE=20 MAXLENGHT=20 NAME=\"fax_client\"></TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD>E-mail : </TD>\n";
|
|
print "<TD COLSPAN=4 BGCOLOR=\"#CC9999\" HEIGHT=40>$email</TD>\n";
|
|
print "</TR>\n";
|
|
print "<TR >\n";
|
|
print "<TD COLSPAN=5 ALIGN=\"right\"><INPUT TYPE=\"submit\" VALUE=\"OK\"></TD>\n";
|
|
|
|
# transmettre l'identifiants du client par un champ cache
|
|
print "<INPUT TYPE=\"hidden\" NAME=\"numclient\" VALUE=$nvclient>\n";
|
|
print "<INPUT TYPE=\"hidden\" NAME=\"email\" VALUE=$email>\n";
|
|
|
|
print "</TR>\n";
|
|
print "</TABLE>\n";
|
|
|
|
|
|
print "</FORM>\n";
|
|
|
|
print "</CENTER>\n";
|
|
|
|
print "</BODY>\n";
|
|
print "</HTML>\n";
|
|
}
|
|
|
|
sub client_reconnu {
|
|
$html = new CGI;
|
|
|
|
print $html->header;
|
|
|
|
print "<HTML>\n";
|
|
print "<HEAD>\n";
|
|
print "<TITLE>Reconnaissance d'un ancien client</TITLE>\n";
|
|
print "</HEAD>\n";
|
|
|
|
print "<BODY BGCOLOR=\"\#ffffff\">\n";
|
|
print "<CENTER>\n";
|
|
print "<SPACER TYPE=\"block\" WIDTH=5 HEIGHT=30>\n";
|
|
print "<FONT SIZE=4>La société AIRTRIA est heureuse de vous accueillir une nouvelle fois.</font><P> Vous pouvez procéder à la consultation de nos produits.\n";
|
|
# Formulaire d'affichage du descriptif des articles
|
|
print "<FORM METHOD=\"post\" ACTION=\"http://o2000/cgi/bdd_prod.pl\">\n";
|
|
print "<TABLE BORDER=0 CELLSPACING=3>\n";
|
|
print "<TR>\n";
|
|
print "<TD COLSPAN=5 ALIGN=\"right\"><INPUT TYPE=\"submit\" VALUE=\"VOIR PRODUITS\"></TD>\n";
|
|
|
|
# transmettre l'identifiants du client par un champ cache
|
|
print "<INPUT TYPE=\"hidden\" NAME=\"email\" VALUE=$email>\n";
|
|
print "</TR>\n";
|
|
print "</TABLE>\n";
|
|
print "</FORM>\n";
|
|
|
|
print "</CENTER>\n";
|
|
print "</BODY>\n";
|
|
print "</HTML>\n";
|
|
}
|
|
|