salut xTG
merci pour ta réponse
je comprend se que tu dit mais je suis perdu
je suis désespéré car c'est la dernière page de site et j'ai plus de cerveaux
voici toute les pages du panier
1 page index
session_start();
ob_start();
/*************************************************************************************************
** error_reporting **
*************************************************************************************************/
// on vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "e_all & ~e_notice");
}
/*************************************************************************************************
** includes **
*************************************************************************************************/
include_once 'panier.class.php';
/*************************************************************************************************
** connexions **
*************************************************************************************************/
require_once("../mpConnect/connect.php");
/*************************************************************************************************
** requète affichage photos **
*************************************************************************************************/
// THEME MARIAGES
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("Érreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
$galerie_privee_membre = "
SELECT a.IDportofolio, a.theme_portofolio, f. *
FROM portofolio_theme_vf AS a
INNER JOIN portofolio_img_vf AS f ON f.userid =1
WHERE a.IDportofolio = f.userid ORDER BY id DESC
LIMIT 8 ";
mysql_query('SET NAMES UTF8');
$resultat_galerie_privee_membre = mysql_query($galerie_privee_membre);
$resultats = array();
while($row1 = mysql_fetch_assoc($resultat_galerie_privee_membre)){
$resultats[] = $row1;
}
$out = '
<table align="left" border="0" cellspacing="0" cellpadding="0" width="20%" align="center">
<tr>
<td align="left"><b>Tarif format photos</b></td>
</tr>
<tr>
<td align="left">
9X13 = 1.00 € HT<br/>
10X15 = 2.00 € HT<br/>
15X21 = 4.50 € HT<br/>
30X30 = 7.50 € HT<br/>
30X40 = 14.50 € HT<br/>
</td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="70%" align="center">
<tr>
<td align="left"><b>n°</b></td>
<td align="left"><b>Désignation</b></td>
<td align="left"><b>Référence</b></td>
<td align="center"><b>Fiche article</b></td>
</tr>
';
if(count($resultats)>0){
foreach($resultats as $row2){
$out .= "
<tr>
<td align=\"left\">".$row2['id']."</td>
<td><img src=\"../".$row2['imagelocation']."\" width=\"100\"><br/><input type=\"hidden\" name=\"propalarticle\" value=\"".$row2['imagelocation']."\" /></td>
<td align=\"left\">".$row2['images']."</td>
<td align=\"middle\">
<a href=\"liste_article.php?fiche=".$row2['id']."\" class=\"link\" >Voir fiche article</a>
</td>
</tr>
<tr>
<td><br/></td>
</tr>
";
}
}
$out .= ' </table>';
// printf($out);
echo $out;
if (isset($_SESSION['panier'])) {
$page->panier = unserialize($_SESSION['panier']);
if (is_object($page->panier) && $page->panier->getNombreArticle() > 0) {
$out .= '
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td align="left">
<center>vous avez <b>'.$page->panier->getNombreArticle().'</b> article(s) dans le panier.
<a href="consultation_panier.php" onclick="window.open(this.href, "", // \'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350\'); return false;"><img src="voirPanier.png" width="50" border="0"></a><div id="articles_select"></div></center>
</td></tr></table>';
}
}else
$out .= '<center>Vous n\'avez pas d\'article dans le panier ! <b>0</b> €<div id="articles_select"></div>
<br/><a href="index.php" class="parent"><span><font color="red"><img src="Retour_precedent.png" width="100" alt="icon-compte.png" border="0"/></font></span></a>
</center>';
ob_end_flush();
2 page liste article
ob_start();
if (isset($_GET['fiche']) || isset($_GET['numserie']))
{
/*************************************************************************************************
** démarage session **
*************************************************************************************************/
session_start();
/*************************************************************************************************
** error_reporting **
*************************************************************************************************/
// on vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "e_all & ~e_notice");
}
/*************************************************************************************************
** connexions **
*************************************************************************************************/
require_once("../mpConnect/connect.php");
/*************************************************************************************************
** includes **
*************************************************************************************************/
include_once 'panier.class.php';
/*************************************************************************************************
** déclarations variables **
*************************************************************************************************/
$contenu = "";
$page = null;
/*************************************************************************************************
** affectations variables **
*************************************************************************************************/
$page->base = ((isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https" : "http")."://".$_SERVER["HTTP_HOST"];
$page->dirname = dirname($_SERVER["SCRIPT_NAME"]);
$page->basename = basename($_SERVER["SCRIPT_NAME"]);
$page->origine = $page->base.$page->dirname."/".$page->basename.(isset($_SERVER["QUERY_STRING"]) ? "?".$_SERVER["QUERY_STRING"] : "");
$page->query = isset($_SERVER["QUERY_STRING"]) ? "?".$_SERVER["QUERY_STRING"]."" : "";
$page->protocol = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https" : "http";
$page->action = $page->protocol."://".$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].$page->query;
/*************************************************************************************************
** programme principal **
*************************************************************************************************/
print '
<html>
<head>
<title>Liste Article</title>
<!-- // articles_selectionner // -->
<script type="text/javascript" src="articles_selectionner.js"></script>
<style type="text/css"><!--
a.link{
/* block:display; */
width:auto;
height:auto;
}
a.link:hover img{
width:auto;
height:auto;
background-image:url("ajout_panier3.png");
background-repeat:no-repeat;
}
--></style>
</head>
<body>
<form name="form1" method="post" action="'.$page->action.'" enctype="application/x-www-form-urlencoded" >';
$contenu .= Affichages($page, $html);
print $contenu.'
</form>
</body>
</html>';
}
/*************************************************************************************************
** fonctions **
*************************************************************************************************/
// affichage principal
// 'selected="selected"'
function Affichages(&$page, &$html) {
switch ($_POST['format'])
{
case "9X13":
$format_tof = "9X13" ;
$tarrif_HT = 1.00 ;
$tarrif = 1.50 ;
break;
case "10X15":
$format_tof = "10X15" ;
$tarrif_HT = 2.00 ;
$tarrif = 2.50 ;
break;
case "15X21":
$format_tof = "15X21";
$tarrif_HT = 5.00 ;
$tarrif = 5.50 ;
break;
case "30X30":
$format_tof = "30X30";
$tarrif_HT = 8.00 ;
$tarrif = 8.50 ;
break;
case "30X40":
$format_tof = "30X40";
$tarrif_HT = 15.00 ;
$tarrif = 15.50 ;
break;
default:
$format_tof = "9X13" ;
$tarrif_HT = 1.00 ;
$tarrif = 1.50 ;
}
// THEME MARIAGES
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("Érreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
if($_GET['fiche']){
$galerie_privee_membre = "
SELECT a.IDportofolio, a.theme_portofolio, f. *
FROM portofolio_theme_vf AS a
INNER JOIN portofolio_img_vf AS f ON f.userid =1
WHERE f.id = ".$_GET['fiche']." AND a.IDportofolio = f.userid";
}else{
if($_GET['numserie']){
$galerie_privee_membre = "
SELECT a.IDportofolio, a.theme_portofolio, f. *
FROM portofolio_theme_vf AS a
INNER JOIN portofolio_img_vf AS f ON f.userid =1
WHERE f.id = ".$_GET['numserie']." AND a.IDportofolio = f.userid";
}
}
mysql_query('SET NAMES UTF8');
$resultat_galerie_privee_membre = mysql_query($galerie_privee_membre);
// var_dump ($galerie_privee_membre);
$resultats = array();
while($row1 = mysql_fetch_assoc($resultat_galerie_privee_membre)){
$resultats[] = $row1;
}
$out = '
<p align="center">Choisisser le format de la photo puis la quantité. Par défaut format photo <b>9X13</b></p>
<table border="0" cellspacing="0" cellpadding="0" width="70%" align="center">
<tr>
<td align="center" width="20"><b>n°</b></td>
<td align="center" width="20"><b>Désignation</b></td>
<td align="center"><b>Référence</b></td>
<td align="center"><b>Format choisie</b></td>
<td align="center"><b>P.U. (HT)</b></td>
<td align="center"><b>P.U. (TTC)</b></td>
<td align="center"><b>Formats photos</b></td>
<td align="center"><b>Quantité</b></td>
<td align="center"><b>Ajouter au panier</b></td>
</tr>
';
if(count($resultats)>0){
foreach($resultats as $row2){OST\" action=\"{$_SERVER['PHP_SELF']}?format=".$format_tof."\">
$out .= "
<tr>
<td align=\"center\">".$row2['id']."</td>
<td align=\"center\"><img src=\"../".$row2['imagelocation']."\" width=\"100\"><br/><input type=\"hidden\" name=\"propalarticle\" value=\"".$row2['imagelocation']."\" /></td>
<td align=\"center\">".$row2['images']."</td>
<td align=\"center\"><b>Format</b> : ".$format_tof."</td>
<td align=\"center\">".$tarrif_HT." €</td>
<td align=\"center\">".$tarrif." €</td>
<td align=\"center\">
<form name=\"form\" method=\"POST\" action=\"{$_SERVER['PHP_SELF']}\">
<select name=\"format\" onChange=\"form.submit();\">
<option label=\"Format\">Format photos</option>
<option label=\"9X13\" value=\"9X13\">9X13</option>
<option label=\"10X15\" value=\"10X15\">10X15</option>
<option label=\"15X21\" value=\"15X21\">15X21</option>
<option label=\"30X30\" value=\"30X30\">30X30</option>
<option label=\"30X40\" value=\"30X40\">30X40</option>
</select>
</form>
</td>
<td align=\"center\">
<input type=\"text\" name=\"qte_".$row2['id']."\" value=\"1\" size=\"4\" />
</td>
<td align=\"center\">
<a href=\"javascript:articles_selectionner();\" class=\"link\" onclick=\"document.location.href='ajout_panier.php?numserie=".$row2['images']."&propalarticle=".$row2['imagelocation']."&qte='+document.form1.qte_".$row2['id'].".value+'&prix=".$tarrif."&format_tof=".$format_tof."&origine=liste_article.php?numserie=".$_GET['fiche']." ' \"><img src=\"ajout_panier3.png\" width=\"30\" border=\"0\"></a>
</td>
</tr>
<tr>
<td><br/></td>
</tr>
";
}
}
$out .= ' </table>';
if (isset($_SESSION['panier'])) {
$page->panier = unserialize($_SESSION['panier']);
if (is_object($page->panier) && $page->panier->getNombreArticle() > 0) {
$out .= '
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td align="left">
<center>vous avez <b>'.$page->panier->getNombreArticle().'</b> article(s) dans le panier.
<a href="consultation_panier.php?dB" onclick="window.open(this.href, "", // \'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350\'); return false;"><img src="voirPanier.png" width="50" border="0"></a><div id="articles_select"></div></center>
</td></tr>
<tr>
<td align="left">
<br/><center><a href="index.php" class="parent"><span><font color="red"><img src="Retour_precedent.png" width="100" alt="icon-compte.png" border="0"/></font></span></a></center>
</td></tr>
</table>';
}
}else
$out .= '<center>Vous n\'avez pas d\'article dans le panier ! <b>0</b> €<div id="articles_select"></div>
<br/><a href="index.php" class="parent"><span><font color="red"><img src="Retour_precedent.png" width="100" alt="icon-compte.png" border="0"/></font></span></a>
</center>';
return $out;
}
ob_end_flush();
3 page ajouter
/*************************************************************************************************
** session session_register **
*************************************************************************************************/
session_start();
ob_start();
/*************************************************************************************************
** connexions **
*************************************************************************************************/
require_once("../mpConnect/connect.php");
/*************************************************************************************************
** includes REQUEST **
*************************************************************************************************/
include_once 'panier.class.php';
if (!isset($_SESSION['panier'])) {
session_register("panier");
$var = new Panier();
} else {
if (isset($_SESSION['panier'])) {
$var = unserialize($_SESSION['panier']);
if ($var == "") $var = new Panier();
}
}
/*************************************************************************************************
** affectations variables **
*************************************************************************************************/
$numserie = isset($_GET["numserie"]) ? $_GET["numserie"] : "";
$qte = isset($_GET["qte"]) ? $_GET["qte"] : 0;
$origine = isset($_GET["origine"]) ? $_GET["origine"] : "";
$prix = isset($_GET["prix"]) ? $_GET["prix"] : 0;
$propalarticle = isset($_GET["propalarticle"]) ? $_GET["propalarticle"] : "";
$format_tof = isset($_GET["format_tof"]) ? $_GET["format_tof"] : "";
/*************************************************************************************************
** requete SQL **
*************************************************************************************************/
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("erreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
$table_sql = "choix_tof_panier";
$sql2 = "SELECT ref_article,format_tof FROM $table_sql WHERE ref_article='".$numserie."' AND format_tof='".$format_tof."' ";
$req = mysql_query($sql2) or die(mysql_error());
$data = mysql_fetch_assoc($req);
/*************************************************************************************************
** programme principal **
*************************************************************************************************/
if (!Empty($numserie) && $qte > 0) {
if ($prix > 0) {
$var->calculmontant = true;
$var->ajouterArticle($numserie, $qte, $prix, $propalarticle,$format_tof);
} else $var->ajouterArticle($numserie, $qte);
// frais de port RAJOUTER
$type = 'colie_poste';
$port = 12.45;
if (!Empty($port)) {
$var->ajoutPort($port,$type);
}
// end frais de port RAJOUTER
$_SESSION["panier"] = serialize($var);
}
if ($origine) {
Header("Location: $origine");
exit;
}
ob_end_flush();
4 page consultation panier
<?php
/*************************************************************************************************
** + Date de création : 16/11/2005 ** + Dernière modification : --/--/---- **
** + Auteur : S. Etcheto ** + Auteur : **
**************************************************************************************************
** + Fichier : consultation_panier.php **
** + Fonction : formulaire de consultation du panier **
** + Accessible par : tous **
*************************************************************************************************/
/*************************************************************************************************
** session **
*************************************************************************************************/
session_start();
/*************************************************************************************************
** connexions **
*************************************************************************************************/
require_once("../mpConnect/connect.php");
ob_start();
/*************************************************************************************************
** includes **
*************************************************************************************************/
include_once 'panier.class.php';
/*************************************************************************************************
** error_reporting **
*************************************************************************************************/
// on vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "e_all & ~e_notice");
}
/*************************************************************************************************
** déclarations variables **
*************************************************************************************************/
$contenu = "";
$page = null;
/*************************************************************************************************
** affectations variables **
*************************************************************************************************/
$page->maj = isset($_POST["maj_x"]) ? $_POST["maj_x"] : "";
$page->base = ((isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https" : "http")."://".$_SERVER["HTTP_HOST"];
$page->dirname = dirname($_SERVER["SCRIPT_NAME"]);
$page->query = isset($_SERVER["QUERY_STRING"]) ? "?".$_SERVER["QUERY_STRING"]."" : "";
$page->protocol = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https" : "http";
$page->action = $page->protocol."://".$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].$page->query;
$page->panier = isset($_SESSION['panier']) ? unserialize($_SESSION['panier']) : "";
/*************************************************************************************************
** programme principal **
*************************************************************************************************/
print '
<html>
<head>
<title>Consultation Panier</title>
</head>
<body>
<form name="form1" method="post" action="'.$page->action.'" enctype="application/x-www-form-urlencoded">';
if ($page->maj) maj($page);
$contenu .= Affichages($page);
print $contenu.'
</form>
</body>
</html>';
if(isset($_SESSION['panier'])) $_SESSION["panier"] = serialize($page->panier); //RAJOUTER
/*************************************************************************************************
** fonctions getNombreArticle **
*************************************************************************************************/
// affichage principal
function Affichages(&$page) {
if ($page->panier == "" || (is_object($page->panier) && $page->panier->getNombreArticle() <= 0)) return '<br /><center>Votre panier est vide<br /><img src="panier17.png" width="50" border="0"><a href="index.php">Liste Produits</a></center>';
$out = '
<center><h1>Consultation panier</h1>
<p>Voici la liste des articles sélectionné au panier. Vous pouvez modifier la quantité d\'un article ou le supprimé.</p></center>
<br />
<table align="center" border="0" cellspacing="0" cellpadding="0" width="80%">
<tr>
<td align="left" class="titrecell"></td>
<td align="left" class="titrecell">Réf (Num Série)</td>
<td align="left" class="titrecell">Réf (Propale)</td>
<td align="left" class="titrecell">Format photos</td>
<td align="right" class="titrecell">P.U. (HT)</td>
<td align="right" class="titrecell">Quantité</td>
<td align="right" class="titrecell">Total HT</td>
<td align="right" class="titrecell">Total TTC</td>
<td align="middle" class="titrecell">Supprimer</td>
<td align="middle" class="titrecell">TOTAL NBR ARTICLE</td>
</tr>';
foreach ($page->panier->article as $numserie => $val) {
$out .= '
<tr>
<td align="center"><img src="resolu.png" width="16" border="0"></td>
<td>'.$numserie.'</td>
<td align="right"><img src="../'.$page->panier->getNomArticle($numserie).' " width="100"></td>
<td align="right">'.$page->panier->getFormatArticle($numserie).'></td>
<td align="right">'.$page->panier->getPrixArticle($numserie).' €</td>
<td align="right">
<table cellpadding="0" cellspacing="0" border="0">
<tr valign="middle">
<td><input type="text" name="qte_'.$numserie.'" value="'.$page->panier->getQteArticle($numserie).'" readonly size="4" /></td>
<td><a href="#" onclick="document.form1.qte_'.$numserie.'.value++;return false"><img src="plus.gif" width="14" height="10" border="0" hspace="0" vspace="0" /></a><br /><a href="#" onclick="document.form1.qte_'.$numserie.'.value--;return false"><img src="moins.gif" width="14" height="10" border="0" hspace="0" vspace="0" /></a></td>
</tr>
</table>
</td>
<td align="right" class="intitule">'.$page->panier->getMontantArticle($numserie).' €</td>
<td align="right" class="intitule">'.$page->panier->getMontantTTCArticle($numserie).' €</td>
<td align="middle" class="intitule"><input type="checkbox" name="suppr_'.$numserie.'" /></td>
<td align="right" class="intitule">'.$page->panier->getNombreTotArticle().'</td>
</tr>
<tr>
<td><br/></td>
</tr>
';
}
date_default_timezone_set( 'Europe/Paris' );
$date = date("d/m/Y");
$time = date("H:i:s");
$commande_numero = 1;
$ref_article = $numserie;
$ref_popale_article = $page->panier->getNomArticle($numserie);
$prixProduit_HT = $page->panier->getPrixArticle($numserie);
$quantite = $page->panier->getQteArticle($numserie);
$Tarifs_quantite_HT = $page->panier->getMontantArticle($numserie);
$Tarifs_quantite_TTC = $page->panier->getMontantTTCArticle($numserie);
$Sous_Total_HT = $page->panier->getTotalHT();
$Total_HT = $page->panier->getTotalFinalHT();
$TVA = 19.60;
$TVA_montant = $page->panier->getTotalFinalTVA();
$FraisPort = $page->panier->getLivraison();
$Total_TTC = $page->panier->getTotalFinalTTC();
$quantite_article_panier = $page->panier->getNombreArticle();
$date_commande = $date;
$heure_commande = $time;
$nom_membre = "ROBERT";
$prenom_membre = "HENRY";
$format_tof = $page->panier->getFormatArticle($numserie);
$reglelent_recu = 0;
//généred random number for activated
$random = rand(23456789,98765432);
$table_sql = "choix_tof_panier";
// if(mysql_num_rows($req)> 0) {
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("erreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
// $sql2 = "SELECT ref_article,format_tof FROM $table_sql WHERE ref_article='".$ref_article."' AND format_tof='".$format_tof."' ";
$sql2 = "SELECT ref_article,format_tof,quantite FROM $table_sql WHERE format_tof='".$format_tof."' AND ref_article='".$ref_article."' AND quantite='".$quantite."' ";
// $sql2 = "SELECT ref_article,format_tof FROM $table_sql ";
$req = mysql_query($sql2) or die(mysql_error());
$data = mysql_fetch_assoc($req);
if(isset($ref_article)) {
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("erreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
$requete = "INSERT INTO $table_sql(commande_numero,ref_article,ref_popale_article,prixProduit_HT,quantite,Tarifs_quantite_HT,Tarifs_quantite_TTC,Sous_Total_HT,Total_HT,TVA,TVA_montant,FraisPort,Total_TTC,quantite_article_panier,date_commande,heure_commande,nom_membre,prenom_membre,format_tof,reglelent_recu) values('$random','$ref_article','$ref_popale_article','$prixProduit_HT','$quantite','$Tarifs_quantite_HT','$Tarifs_quantite_TTC','$Sous_Total_HT','$Total_HT','$TVA','$TVA_montant','$FraisPort','$Total_TTC','$quantite_article_panier','$date_commande','$heure_commande','$nom_membre','$prenom_membre','$format_tof','$reglelent_recu')";
$insert1 = mysql_query($requete) or die( mysql_error());
}
elseif(isset($ref_article) && isset($data["format_tof"]) != $format_tof) {
$sql = mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die (mysql_error("erreur! Contacter l'administrateur"));
mysql_select_db(DB_BDDTest);
$requete = "INSERT INTO $table_sql(commande_numero,ref_article,ref_popale_article,prixProduit_HT,quantite,Tarifs_quantite_HT,Tarifs_quantite_TTC,Sous_Total_HT,Total_HT,TVA,TVA_montant,FraisPort,Total_TTC,quantite_article_panier,date_commande,heure_commande,nom_membre,prenom_membre,format_tof,reglelent_recu) values('$random','$ref_article','$ref_popale_article','$prixProduit_HT','$quantite','$Tarifs_quantite_HT','$Tarifs_quantite_TTC','$Sous_Total_HT','$Total_HT','$TVA','$TVA_montant','$FraisPort','$Total_TTC','$quantite_article_panier','$date_commande','$heure_commande','$nom_membre','$prenom_membre','$format_tof','$reglelent_recu')";
$insert2 = mysql_query($requete) or die( mysql_error());
}
$table_sql(commande_numero,ref_article,ref_popale_article,prixProduit_HT,quantite,Tarifs_quantite_HT,Tarifs_quantite_TTC,Sous_Total_HT,Total_HT,TVA,TVA_montant,FraisPort,Total_TTC,quantite_article_panier,date_commande,heure_commande,nom_membre,prenom_membre,format_tof,reglelent_recu) values('$random','$ref_article','$ref_popale_article','$prixProduit_HT','$quantite','$Tarifs_quantite_HT','$Tarifs_quantite_TTC','$Sous_Total_HT','$Total_HT','$TVA','$TVA_montant','$FraisPort','$Total_TTC','$quantite_article_panier','$date_commande','$heure_commande','$nom_membre','$prenom_membre','$format_tof','$reglelent_recu')";
$table_sql(commande_numero,ref_article,ref_popale_article,prixProduit_HT,quantite,Tarifs_quantite_HT,Tarifs_quantite_TTC,Sous_Total_HT,Total_HT,TVA,TVA_montant,FraisPort,Total_TTC,quantite_article_panier,date_commande,heure_commande,nom_membre,prenom_membre,format_tof,reglelent_recu) values('$random','$ref_article','$ref_popale_article','$prixProduit_HT','$quantite','$Tarifs_quantite_HT','$Tarifs_quantite_TTC','$Sous_Total_HT','$Total_HT','$TVA','$TVA_montant','$FraisPort','$Total_TTC','$quantite_article_panier','$date_commande','$heure_commande','$nom_membre','$prenom_membre','$format_tof','$reglelent_recu')";
$table_sql(commande_numero,ref_article,ref_popale_article,prixProduit_HT,quantite,Tarifs_quantite_HT,Tarifs_quantite_TTC,Sous_Total_HT,Total_HT,TVA,TVA_montant,FraisPort,Total_TTC,quantite_article_panier,date_commande,heure_commande,nom_membre,prenom_membre,format_tof,reglelent_recu) values('$random','$ref_article','$ref_popale_article','$prixProduit_HT','$quantite','$Tarifs_quantite_HT','$Tarifs_quantite_TTC','$Sous_Total_HT','$Total_HT','$TVA','$TVA_montant','$FraisPort','$Total_TTC','$quantite_article_panier','$date_commande','$heure_commande','$nom_membre','$prenom_membre','$format_tof','$reglelent_recu')";
}
envoyer<br/><a href="Deconnexion.php"><font color="green"><img src="Retour_precedent.png" width="130" border="0"></font></a><br/>donnée ajouté dbb</p>';}
if($insert1) {echo '<p align="center">donnée ajouté dbb</p>';}
if($insert2) {echo '<p align="center">meme tof mais format différent >> donnée ajouté dbb</p>';}
if($insert4) {echo $insert4;}
$out .= '
<tr>
<td colspan="6" align="right" ><br/><hr width="50%" /><br/>
vous avez <b>'.$page->panier->getNombreArticle().'</b> article(s) dans le panier.</td>
</tr>
<tr>
<td colspan="5" align="right" class="titrecell">Sous-Total HT :</td>
<td align="right" class="intitule">'.$page->panier->getTotalHT().' €</td>
</tr>
<tr>
<td colspan="5" align="right" class="titrecell">Frais de livraison :</td>
<td align="right" class="intitule">'.$page->panier->getLivraison().' €</td>
</tr>
<tr>
<td colspan="5" align="right" class="titrecell">Total HT :</td>
<td align="right" class="intitule">'.$page->panier->getTotalFinalHT().' €</td>
</tr>
<tr>
<td colspan="5" align="right" class="titrecell">TVA ('.$page->panier->getTVA().' %) :</td>
<td align="right" class="intitule">'.$page->panier->getTotalFinalTVA().' €</td>
</tr>
<tr>
<td colspan="5" align="right" class="titrecell">Total TTC :</td>
<td align="right" class="intitule">'.$page->panier->getTotalFinalTTC().' €</td>
</tr>
<tr>
<td colspan="6" align="right" ><hr width="50%" /></td>
</tr>
<tr>
<td colspan="6" align="center" style="vertical-align:middle;">Valider les modifications du panier <input type="image" name="maj" src="valider.gif" /></td>
</tr>
<tr>
<td colspan="6" align="right" ><hr width="50%" /></td>
</tr>
<tr>
<td align="center" style="vertical-align:middle;">
<div id="menu">
<ul class="menu">
<li class="current"><a href="Deconnexion.php" class="parent"><span><font color="red"><img src="panier20.png" alt="icon-compte.png" width="41" border="0"/>Vider le panier</font></span></a></li>
<li class="current"><a href="index.php" class="parent"><span><font color="red"><img src="Retour_precedent.png" width="100" alt="icon-compte.png" border="0"/></font></span></a></li>
<li class="current"><a href="consultation_panier.php?confirm_select" class="parent"><span><font color="green"><img src="OK.png" alt="OK.png" width="50" border="0"/>Vider le panier</font></span></a></li>
</ul>
</div></td>
</tr>
</table>
';
return $out;
}
function maj(&$page) {
foreach ($_POST as $cle => $valeur) {
if (preg_match("/suppr_(.*)/", $cle, $res)) $page->panier->supprimerArticle($res[1]);
if (preg_match("/qte_(.*)/", $cle, $res)) $page->panier->miseAJourQteArticle($res[1], $valeur);
}
if ($page->panier->getNombreArticle() <= 0) {
$page->panier->destroy();
$page->panier = null;
}
}
echo "<pre>";
// var_dump ($_SESSION['panier']);
print_r ($_SESSION['panier']);
echo "</pre>";
ob_end_flush();
?>
5 page panier.class
*************************************************************************************************/
class Panier {
var $article; // Tableau des article du Panier
var $nbarticle; // Nombre d'article dans le Panier
var $propalarticle; // rajouter
var $format_tof; // rajouter
var $totalHT; // Montant total HT du Panier
var $totalTTC; // Montant total TTC du Panier
var $TVA; // Montant TVA
var $calculmontant; // Active le calcul du montant ou non
var $port; // Tarif livraison
var $typeport; // Type de livraison
// mettre en relation base donnée pour tva 19.6 ou 5.5 (resto,livre)
// Constructeur initialise le tableau d'article et le montant total du Panier
function Panier($actif = false, $tva = 19.6) {
$this->article = array();
$this->propalarticle = ""; // rajouter
$this->format_tof = ""; // rajouter
$this->nbarticle = 0;
$this->totalHT = 0;
$this->totalTTC = 0;
$this->TVA = $tva;
$this->calculmontant = $actif;
$this->port = 0;
$this->typeport = 0;
$this->portTVA = 0;
}
function destroy() {
unset ($this->article);
unset ($this->propalarticle); // rajouter getNombreArticle
unset ($this->format_tof); // rajouter getNombreArticle
unset ($this->nbarticle);
unset ($this->totalHT);
unset ($this->totalTTC);
unset ($this->TVA);
unset ($this->calculmontant);
unset ($this->port);
unset ($this->typeport);
}
// Frais de port ajouterArticle
function getLivraison() {
if (isset($this->calculmontant) && $this->calculmontant == true) return ($this->port);
else return 0;
}
// Type livraison
function getTypeLivraison() {
if (isset($this->calculmontant) && $this->calculmontant == true) return ($this->typeport);
else return 0;
}
// Frais de port
function ajoutPort($port, $typeport) {
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->port = $port;
$this->typeport = $typeport;
$this->portTVA = $port * (1 + ($this->TVA / 100));
}
}
// Renvoie le total final HT + frais de port propalarticle
function getTotalFinalHT() {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", ($this->totalHT+$this->port)));
else return 0;
}
// Renvoie le total final TVA + frais de port
function getTotalFinalTVA() {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", (($this->totalHT+$this->port) * ($this->TVA / 100))));
else return 0;
}
// Renvoie le total final TTC + frais de port
function getTotalFinalTTC() {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", ($this->totalTTC+$this->portTVA)));
else return 0;
}
// Renvoie la quantite de l'article $numserie
function getQteArticle($numserie) {
if (isset($this->article[$numserie]['qte'])) return ($this->article[$numserie]['qte']);
else return 0;
}
// Renvoie le prix de l'article $numserie
function getPrixArticle($numserie) {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", $this->article[$numserie]['prix']));
else return 0;
}
// Renvoie le montant HT de l'article $numserie
function getMontantArticle($numserie) {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", $this->article[$numserie]['montantHT']));
else return 0;
}
// Renvoie le montant TTC de l'article $numserie
function getMontantTTCArticle($numserie) {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", $this->article[$numserie]['montantTTC']));
else return 0;
}
// Renvoie le montant TVA de l'article $numserie
function getMontantTVAArticle($numserie) {
// if ($this->calculmontant) return (sprintf("%.2f", ($this->article[$numserie]['montantTTC'] - $this->article[$numserie]['montantHT'])));
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", ($this->article[$numserie]['montantHT'] * ($this->TVA / 100))));
else return 0;
}
// Renvoie le nombre d'article contenus dans le Panier
function getNombreArticle() {
return ($this->nbarticle);
}
// Renvoie le montant total HT
function getTotalHT() {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", $this->totalHT));
else return 0;
}
// Renvoie le montant total TTC
function getTotalTTC() {
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", $this->totalTTC));
else return 0;
}
// Renvoie le montant total de la TVA
function getTotalTVA() {
// if ($this->calculmontant) return (sprintf("%.2f", ($this->totalTTC - $this->totalHT)));
if (isset($this->calculmontant) && $this->calculmontant == true) return (sprintf("%.2f", ($this->totalHT * ($this->TVA / 100))));
else return 0;
}
// Renvoie le montant de la TVA
function getTVA() {
return (sprintf("%.2f", $this->TVA));
}
// Ajoute un article dans le Panier 02
function ajouterArticle($numserie, $quantite, $montantHT = 0, $propalarticle, $format_tof) {
if (!empty($numserie)) {
if ($this->article[$numserie]){
$this->article[$numserie]['qte'] += $quantite;
$this->article[$numserie]['propalarticle'] = $propalarticle;
$this->article[$numserie]['format_tof'] = $format_tof;
$this->nbarticle++;
// RAJOUTER
$this->nbTotarticle = $this->nbTotarticle + $quantite; ///////////////////////////////////////////////////////
}
else {
$this->article[$numserie]['qte'] += $quantite;
$this->article[$numserie]['propalarticle'] = $propalarticle;
$this->article[$numserie]['format_tof'] = $format_tof;
$this->nbarticle++;
// RAJOUTER
$this->nbTotarticle = $this->nbTotarticle + $quantite; ///////////////////////////////////////////////////////
}
if (isset($this->calculmontant) && $this->calculmontant == true) {
$this->article[$numserie]['prix'] = $montantHT;
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $quantite);
// $this->CalculTotal(($this->article[$numserie]['prix']*$quantite));
$this->CalculTotal($quantite * $montantHT); // RAJOUTER 3
}
}
$this->article[$numserie]['propalarticleimg'] = $propalarticle; // CODE A RAJOUTER
$this->article[$numserie]['format_tof'] = $format_tof; // CODE A RAJOUTER
}
function getNomArticle($numserie) {
if (isset($this->article[$numserie]['propalarticleimg'])) return ($this->article[$numserie]['propalarticleimg']);
else return 'inconnu';
}
function getFormatArticle($numserie) {
if (isset($this->article[$numserie]['format_tof'])) return ($this->article[$numserie]['format_tof']);
else return 'inconnu';
}
// Supprime un article du Panier
function supprimerArticle($numserie) {
if (!empty($numserie) && $this->article[$numserie]) {
if (isset($this->calculmontant) && $this->calculmontant == true) $this->CalculTotal(- $this->article[$numserie]['montantHT']);
unset($this->article[$numserie]);
$this->nbarticle--;
}
}
// Met à jour la quantite d'un article sélectionné dans le Panier
function miseAJourQteArticle($numserie, $quantite) {
if (!empty($numserie) && $this->article[$numserie]) {
if (isset($this->calculmontant) && $this->calculmontant == true) {
$diff = $quantite - $this->article[$numserie]['qte'];
$this->CalculMontantArticle($numserie, $this->article[$numserie]['prix'], $diff);
$diff *= $this->article[$numserie]['prix'];
$this->CalculTotal($diff);
// RAJOUTER
$this->nbTotarticle = $this->nbTotarticle + $diff; //////////////////////////////////////////////////////////////
}
$this->article[$numserie]['qte'] = $quantite;
}
}
function getNombreTotArticle()
{
return ($this->nbTotarticle);
}
// Calcule le montant Total HT et TTC du panier 01
function CalculTotal($prix) {
$this->totalHT += $prix;
$this->totalTTC += $prix * (1 + ($this->TVA / 100));
}
// Calcule le montant Total HT et TTC par article
function CalculMontantArticle($numserie, $prix, $qte) {
$this->article[$numserie]['montantHT'] += $prix * $qte;
$this->article[$numserie]['montantTTC'] += $prix * $qte * (1 + ($this->TVA / 100));
}
}