#!/usr/bin/perl use DBI; use CGI; require "cgi-lib.pl"; &ReadParse(*query); $num_client = $query{'numclient'}; $email = $query{'email'}; $societe = $query{'societe'}; $nom = $query{'nom_client'}; $prenom = $query{'prenom_client'}; $adr1 = $query{'adr1'}; $adr2 = $query{'adr2'}; $cpt = $query{'code_postal'}; $ville = $query{'ville'}; $tel_client = $query{'tel_client'}; $fax_client = $query{'fax_client'}; $civilite = $query{'civilite'}; if ($num_client == 0){ #se connecter a la base $dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr; $quel_client = $dbh->prepare( "SELECT num_client from base_clients where email='$email' "); $quel_client->execute; $no_client = $quel_client->fetchrow; $quel_client->finish; $dbh->disconnect; }else{ $no_client = $num_client; } #construire l'identifiant du client en ligne et l'inserer dans la base $time = `/bin/date|tr " " "/"|cut -c1-10`; $ID_client_el = "$no_client" . "-" . "$time"; $html = new CGI; print $html->header; print "\n"; print "\n"; print "Catalogue produits\n"; print "\n"; print "\n"; print "\n"; print "

Nos PRODUITS

\n"; print "
\n"; print "

\n"; #se connecter a la base $dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr; # construire la page catalogue produit $cursor = $dbh->prepare( "SELECT * FROM produits" ); $cursor->execute; while ( @row = $cursor->fetchrow ) { ($code_famille,$code_produit,$denomination,$prix_ht,$descriptif,$chemin_Img) = @row; construire_page_produits(); } $cursor->finish; &identifier_client_el(); if ($nom ne ""){ &ins_client_bdd(); } $dbh->disconnect; print "\n"; # extrait les produits de la base de donnees pour construire une page html de presentation des produits sub construire_page_produits { print "

\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$denomination
R\éf\érence : $code_famille $code_produitPrix unitaire H.T. : $prix_htEuros
$descriptif
\n"; print "


\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; } sub identifier_client_el { # creer un identifiant au client en ligne pour lui creer un panier $sqlcom1 = $dbh->prepare("SELECT * FROM client_en_ligne WHERE id_client_el LIKE '$ID_client_el'"); $sqlcom1->execute; @idcli = $sqlcom1->fetchrow; if ($idcli[0] eq ""){ $sql_com2 = $dbh->prepare("INSERT INTO client_en_ligne VALUES ('$ID_client_el',$no_client)"); $sql_com2->execute; $sql_com2->finish; } $sqlcom1->finish; } sub ins_client_bdd { # completer les champs de cordonnes du client dans la base $ins = $dbh->prepare( "UPDATE base_clients " . "SET societe = '$societe', " . "civilite = '$civilite', " . "nom = '$nom', " . "prenom = '$prenom', " . "adr1 = '$adr1', " . "adr2 = '$adr2', ". "cpt = '$cpt', " . "ville = '$ville', " . "tel = '$tel_client', ". "fax = '$fax_client' " . "WHERE email='$email' " ); $ins->execute; $ins->finish; print "$societe - $civilite - $nom - $prenom - $adr1 - $adr2 - $cpt - $ville - $tel_client - $fax_client -\n"; }