kefren

Utilisateur open source
  • Compteur de contenus

    52
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par kefren


  1. Voila lorsque je modofie l'affichage du caddie, pour que n'apparaisse plus les frais de ports et ce dont j'ai arreter l'affichage, lorsque je commande, j'ai des messages d'erreur sur la page "achat_mintenant.php"

    Erreur :

    Notice: Undefined index: code_postal2 in /homepages/11/d131874726/htdocs/Site_demo/Peel/achat/achat_maintenant.php on line 64

    Notice: Undefined index: ville2 in /homepages/11/d131874726/htdocs/Site_demo/Peel/achat/achat_maintenant.php on line 66

    Notice: Undefined index: pays2 in /homepages/11/d131874726/htdocs/Site_demo/Peel/achat/achat_maintenant.php on line 68

    Notice: Undefined index: email2 in /homepages/11/d131874726/htdocs/Site_demo/Peel/achat/achat_maintenant.php on line 70

    Notice: Undefined index: commentaires in /homepages/11/d131874726/htdocs/Site_demo/Peel/achat/achat_maintenant.php on line 72


  2. Voila je viens de parcourir les sujet traitant des frais de ports, j'ai eu certaines reponse et certaines idées aussi ;) , mais serait-il possible de 'déporter' le calcul des frais de port lors du choix du lieu de livraison par le client ?


  3. Merci ça devrait le faire !!!

    Par contre j'aurai besoin d'explication pour un script "javascript" :

    	 	<script language="javascript">
    
    	if (document.entryform.choixadresse[0].checked==!true)
    
    	{
    
    	document.write ("<div id='commentform' style='visibility:visible;'>");
    
    
    	}
    
    	else
    
    	{
    
    	document.write ("<div id='commentform' style='visibility:visible;'>");
    
    	}
    
    	</script>

    Je ne comprends pas comment l'on peut faire choisir l'affichage de tel ou tel formulaire... ;)


  4. Voila j'aimerais récupérer les deux premiers chiffre du département du client pour y appliquer le calcul du transport

    exemple :

    si le client se fait livrer au code postal suivant -> 31500 ; il me faudrait récupérer '31'

    mais si le client se fait livrer au cp suivant -> 01347 ; je récupèrerai '01' et là il me faudrait garder que le '1'

    Serait t-il possible d'avoir les commandes permettant de le faire ?


  5. Je continue à "gratter" dans le code mais en fait si je ne passe pas à l'étape suivante c'est parce qu'il lui faut le pays d'expédtion et le type alors qu'ils

    seront choisi automatiquement lors du contrôle des données du client par le client lui même...

    Mais je n'arrive pas à trouver où sont les lignes de codes à retirer pour ne plus qu'il demande le pays, la zone et le type d'expédition !!

    Désolé pour les fautes, dans la réponse précédente j'ai oublié les "s" à parties du code ... ;)


  6. voila j'ai enlever l'affichage des données que je ne voulais plus dans le caddie, mais le probleme eest que losque l'on clik sur le boutton "commander" du

    caddie, la page suivante ne s'affiche plus ... ;)

    Code de la page : "achat/modeles/caddie.php"

    <? if ($_SESSION['caddie']->compte_elements() == 0) { 
    
    
    	echo "<div class=\"normal\">".nl2br(EMPTY_CADDIE)."</div>";
    
    	 return false; 
    
     } ?>
    
    
    <script language="Javascript">
    
    function frmsubmit(func) {
    
    	frm = document.entryform;
    
    	frm.func.value = func;
    
    	frm.submit();
    
    }	
    
    </script>
    
    <?php echo "<div class=\"entete\"><img src=\"$wwwroot/images/tres_petite_puce_fleur\">&nbsp;".CADDIE."</div>" ?>
    
    
    <form name="entryform" method="POST" action="<?=$_SERVER['PHP_SELF']?>">
    
    <input type="hidden" name="func" value="">
    
    <table border="0" cellspacing="5" cellpadding="0" width="100%">
    
    
    <?
    
    
    echo "<tr><td>";
    
    
    echo "<div class=\"label_rouge\">";
    
    
    echo "<blink>";
    
    
    echo nl2br(stripslashes(vb script:return confirm('Etes-vous s&ucirc;r de vouloir enlever ce produit du panier ?');" class="normal" href="<?=$_SERVER['PHP_SELF']?>?func=enleve&ligne=<?=$i?>&id=<?=$prod['id']?>"><img src="images/poubelle.gif" width="25" height="25" alt="" border="0"></a></td>
    
    				<td class="lignecaddie">
    
    				<!-- affiche le nom du produit -->
    
    				<a class="normal" href="achat/produit_details.php?id=<?=$prod['id']?>"><?echo stripslashes($prod['nom_'.$_SESSION['langue'].''])?></a>
    
    				<?php
    
    
    				if (!empty($delivery_stock)) { echo "<br />".DELIVERY_STOCK." : $delivery_stock<br />";}
    
    
    				echo (!empty($comment)) ? "<br /><b>".COMMENTS."</b><br /><textarea name=\"comment[]\" class=\"formulaire1\">$comment</textarea>" : "<input type=\"hidden\" name=\"comment[]\" value=\"\" />";
    
    
    				echo (!empty($couleur) > 0) ? "<br /><b>".COLOR."</b> : $couleur<br /> <input type=\"hidden\" name=\"couleur[]\" value=\"$couleur\">" : "<input type=\"hidden\" value=\"\" name=\"couleur[]\">";
    
    
    				echo (!empty($taille) > 0) ? "<br /><b>".SIZE."</b> : $taille<br /> <input type=\"hidden\" name=\"taille[]\" value=\"$taille\">" : "<input type=\"hidden\" value=\"\" name=\"taille[]\">";
    
    
    				echo (!empty($email_check) > 0) ? "<br />".EMAIL_FRIEND." : $email_check<br /> <input type=\"hidden\" name=\"email_check[]\" value=\"$email_check\">" : "<input type=\"hidden\" value=\"\" name=\"email_check[]\">";
    
    
    
    				echo "</td>";
    
    
    				echo "<td class=\"lignecaddie\" align=\"center\">";
    
    
    				if (!empty($remise_produit)) { echo "<s>".fprix($prix_cat)." &euro;</s>&nbsp;"; }
    
    
    				echo fprix($prix)."&euro;";
    
    
    				echo "</td>";
    
    
    				echo "<td class=\"lignecaddie\" align=\"center\">";
    
    
    				echo (!empty($remise_produit)) ? fprix($remise_produit)." &euro; (- $remise_produit_percent %)" : "-";
    
    
    				echo "</td>";
    
    
    				?>
    
    
    				<td class="lignecaddie" align="center"><?=$quantite?><input type="hidden" name="quantite[]" value="<?=$quantite?>" onChange="java script:frmsubmit('recalc');" class="formulaire1"></td>
    
    				<td class="lignecaddie" align="center">
    
    
    				<?echo fprix($total_prix); ?> &euro; ttc
    
    
    				</td>
    
    			</tr>
    
    	<? 		} 
    
    		} 
    
    	} ?>
    
    	<tr>
    
    
    		<td colspan="5" class="normal" align=right><?echo TOTAL_TTC ?> :</td>
    
    
    		<td class="normal" align="right">
    
    
    				<? echo fprix($_SESSION['caddie']->total_produit_avant_promo ) ?>&nbsp;&euro; TTC
    
    
    
    		</td>
    
    	</tr>
    
    
    	<?php
    
    
    	if (!empty($_SESSION['caddie']->ecotaxe_ttc)) {
    
    
    	?>
    
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right">Ecotaxe T.T.C :</td>
    
    
    		<td class="normal" align="right">
    
    
    				<? echo fprix($_SESSION['caddie']->ecotaxe_ttc) ?>&nbsp;&euro; T.T.C
    
    
    
    		</td>
    
    
    	<?php
    
    	}
    
    
    	#- Si la session client contient une remise en % > 0 
    
    	if (!empty($_SESSION['caddie']->total_remise_client)) {
    
    
    	?>
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo REMISE_CLIENT ?> (<? echo $_SESSION['caddie']->remise_client_percent." % "?>):</td>
    
    
    		<td class="normal" align="right">
    
    
    				- <? echo fprix($_SESSION['caddie']->total_remise_client) ?>&nbsp;&euro; T.T.C
    
    
    
    		</td>
    
    	</tr>
    
    	<?php
    
    	}
    
    
    	#- Si la session caddie contient un code promotionnel 
    
    	if (!empty($_SESSION['caddie']->total_remise_code) ) { 
    
    
    	?>
    
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo CODE_PROMO_REMISE." (".$_SESSION['caddie']->remise_code_percent." % ) :";?></td>
    
    		<td class="normal" align="right">
    
    			- <?=fprix($_SESSION['caddie']->total_remise_code) ?>&nbsp;&euro; T.T.C
    
    		</td>
    
    	</tr>
    
    	<? } 
    
    
    	#- Si la session caddie contient un chèque cadeau
    
    	if (!empty($_SESSION['caddie']->total_remise_cheque) ) { 
    
    
    	?>
    
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo CHEQUE_CADEAU_REMISE." :";?></td>
    
    		<td class="normal" align="right">
    
    			- <?=fprix($_SESSION['caddie']->total_remise_cheque) ?>&nbsp;&euro; T.T.C
    
    		</td>
    
    	</tr>
    
    	<? } 
    
    
    	#- Si la session caddie contient un chèque cadeau
    
    	if (!empty($_SESSION['caddie']->total_remise_bon) ) { 
    
    
    	?>
    
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo BON_REDUCTION_REMISE." :";?></td>
    
    		<td class="normal" align="right">
    
    			- <?=fprix($_SESSION['caddie']->total_remise_bon) ?>&nbsp;&euro; T.T.C
    
    		</td>
    
    	</tr>
    
    	<? }  
    
    
    	#- Si la session caddie contient un chèque cadeau
    
    	if (!empty($_SESSION['caddie']->avoir) ) { 
    
    
    	?>
    
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo AVOIR." :";?></td>
    
    		<td class="normal" align="right">
    
    			- <?=fprix($_SESSION['caddie']->avoir) ?>&nbsp;&euro; T.T.C
    
    		</td>
    
    	</tr>
    
    	<? } 
    
    
    	?>
    
    	<tr>
    
    <!--		<td colspan="5" class="normal" align=right><?echo SHIPPING_COST?> :</td>
    
    		<td class="normal" align="right">
    
    		<?php
    
    
    			echo (!empty($_SESSION['caddie']->cout_transport)) ? $_SESSION['caddie']->cout_transport." &euro; ttc" : "".OFFERED."&nbsp;".FROM." $seuil_total &euro;"; 
    
    
    		?>-->
    
    		</td>
    
    	</tr> 
    
    	<?
    
    
    
    	if ($_SESSION['caddie']->total > 0) {
    
    	?>
    
    
    	<tr>
    
    
    		<td colspan="5" class="normal" align=right><?echo TOTAL_HT ?> :</td>
    
    
    		<td class="normal" align="right">
    
    
    				<? echo fprix($_SESSION['caddie']->total_ht) ?>&nbsp;&euro; H.T.
    
    
    
    		</td>
    
    	</tr>
    
    
    	<?php
    
    
    	if ($_SESSION['caddie']->zoneTva == 1) {
    
    
    	?><tr>
    
    		<td colspan="5" class="normal" align="right"><i><?echo VAT ?> :</i></td>
    
    
    		<td class="normal" align="right">
    
    
    				<i><? echo fprix($_SESSION['caddie']->total_tva) ?>&nbsp;&euro;</i>
    
    
    
    		</td>
    
    	</tr>
    
    	<?php
    
    
    	}
    
    
    	?>
    
    
    
    	<tr>
    
    		<td colspan="5" class="label" align=right><?echo NET ?> :</td>
    
    
    		<td class="total" align="right">
    
    
    				<? echo fprix($_SESSION['caddie']->total) ?>&nbsp;&euro;
    
    
    
    		</td>
    
    	</tr>
    
    
    <!--	<? 
    
    
    	}
    
    
    	if ( $_SESSION['caddie']->total_points > 0 ) {
    
    	?>
    
    	<tr>
    
    		<td colspan="5" class="normal" align="right"><?echo ORDER_POINT ?> :</td>
    
    
    		<td class="normal" align="right">
    
    
    				<? echo $_SESSION['caddie']->total_points."&nbsp;".POINT ?>
    
    
    		-->
    
    		</td>
    
    	</tr>
    
    	<? } ?>
    
    
    	<tr>
    
    		<td colspan="6" class="normal">
    
    
    		<table border="0" cellpadding="5" cellspacing="0" width="100%">
    
    
    		<tr >
    
    		<!--	<td class="label" style="border-top:1px solid black;border-left:1px solid black;border-right:1px solid black;<?php echo (empty($_SESSION['caddie']->zone)) ? "border-bottom:1px solid black;" : "";?>">
    
    
    			<?php
    
    			if (isset($_SESSION['caddie']->pays)) {
    
    
    			$queryPays = mysql_query("SELECT pays_".$_SESSION['langue']." FROM peel_pays WHERE pays_".$_SESSION['langue']." = '".addslashes($_SESSION['caddie']->pays)."'");
    
    
    				if (mysql_num_rows($queryPays) >0) {
    
    
    							$objPays = mysql_fetch_array($queryPays);
    
    
    							$ship = $objPays['pays_'.$_SESSION['langue'].''];
    
    
    				}
    
    
    			}
    
    
    			if (!empty($erreur_pays)) {echo "<font color=red><b>$erreur_pays</b></font><br />";}
    
    
    			echo COUNTRY_SHIP ?> (*) :
    
    			<select class="formulaire1" name="pays_zone" onChange="java script:frmsubmit('recalc')">
    
    			<option value="|"><?echo COUNTRY_CHOOSE ?></option>
    
    			<?php
    
    
    			$sqlPays = "SELECT id, pays_".$_SESSION['langue'].", zone FROM peel_pays WHERE etat = '1' ORDER BY pays_".$_SESSION['langue']."";
    
    
    			$resPays = mysql_query($sqlPays);
    
    
    			if ($resPays) {
    
    
    				if (mysql_num_rows($resPays) >0) {
    
    
    					while ($Pays = mysql_fetch_array($resPays)) {
    
    
    						echo "<option value=\"".$Pays['id']."|".$Pays['zone']."\"";
    
    
    						if (vb script:frmsubmit('recalc')">
    
    			<option value=""><?echo SHIP_TYPE_CHOOSE ?></option>
    
    					<?php
    
    
    					$queryZone = mysql_query("SELECT id FROM peel_zones WHERE nom_".$_SESSION['langue']." = '".addslashes($_SESSION['caddie']->zone)."'");
    
    
    					$objZone = mysql_fetch_object($queryZone);
    
    
    					$sqlType = "SELECT DISTINCT(t.id), t.nom_".$_SESSION['langue']." FROM peel_tarifs tf, peel_types t WHERE t.id = tf.type AND tf.zone = '".$objZone->id."'";
    
    
    					$resType = mysql_query($sqlType) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());;
    
    
    					if ($resType) {
    
    
    						if (mysql_numrows($resType)) {
    
    
    							while ($Type = mysql_fetch_array($resType)) {
    
    
    								echo "<option value=\"".$Type['nom_'.$_SESSION['langue'].'']."\"";
    
    
    								if (vb script:frmsubmit('recalc')">
    
    		<a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br /> -->
    
    		</td>
    
    		<td colspan="2">&nbsp;</td>
    
    	</tr>
    
    
    	<tr>
    
    	<!--	<td colspan="5" class='normal'>
    
    		<b><?echo GIFT_CHECK ?> :</b><br />
    
    		<input type="text" class="formulaire1" name="code_cheque" value="<?=strtoupper(vb script:frmsubmit('recalc')">
    
    		<a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br /> -->
    
    
    		</td>
    
    		<td colspan="2">&nbsp;</td>
    
    	</tr>
    
    
    	<tr>
    
    	<!--	<td colspan="5" class='normal'>
    
    		<b><?echo BON_REDUCTION ?> :</b><br />
    
    		<input type="text" class="formulaire1" name="code_bon" value="<?=strtoupper(vb script:frmsubmit('recalc')">
    
    		<a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br />
    
    		-->
    
    		</td>
    
    		<td colspan="2">&nbsp;</td>
    
    	</tr> 
    
    	<tr>
    
    		<td colspan="6" align="right">
    
    		  <p>&nbsp;</p>
    
    		  <p>&nbsp;</p>
    
    		  <p><img src="images/actualiser.gif" align="absmiddle">
    
    				<a class="normal" href="java script: frmsubmit('recalc');" onMouseOver="return overlib('Vos frais de port sont offerts à partir de <?php echo $seuil_total ?> EUROS d\'achat');" onMouseOut="return nd();"><?echo UPDATE ?></a>
    
    
    			  </p></td>
    
    	</tr>
    
    
    
    	<tr><td colspan="6" align="center">
    
    	<p>&nbsp;	</p>
    
    	<p>&nbsp;</p>
    
    	<p><a class="normal" href="java script: frmsubmit('sauvegarde');"><?echo BACKUP ?></b></a> |
    
    	  <a class="normal" href="<?=$wwwroot?>/achat/index.php"><?echo CATALOG?></a> |
    
    	  <a class="normal" href="java script: frmsubmit('vide');"><?echo EMPTY_LIST ?></a>
    
    	  </p>
    
    	<?php
    
    
    	if ($_SESSION['caddie']->total > 0) { ?>
    
    
    	<div align="center"><a class="normal" href="java script: frmsubmit('commande');" onMouseOver="return overlib('Vos frais de port sont offerts à partir de <?php echo $seuil_total ?> EUROS d\'achat');" onMouseOut="return nd();"><b><?echo strtoupper(ORDER) ?></b></a></div>
    
    
    	<?php } else { ?>
    
    
    	<div align="center" class="normal"><p><?php echo MSG_SUGGEST ?></p></div>
    
    
    
    	<?php } ?>
    
    
    
    
    
    
    	</td></tr></table>
    
    
    </td></tr></table>
    
    </form>
    code de la page "achat/caddie_affichage.php" :
    <?
    
    include("../configuration.inc.php");
    
    
    if (isset($_REQUEST['func'])) {
    
    
    	switch ($_REQUEST['func']) {
    
    
    		case "enleve" :
    
    
    			/* Décrementation de la table peel_stocks_temporaires */
    
    
    			$error = array();
    
    
    			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];
    
    
    			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");
    
    
    			$C = mysql_fetch_object($resC);
    
    
    			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");
    
    
    			$T = mysql_fetch_object($resT);
    
    
    			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";
    
    
    			@mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    			$_SESSION['caddie']->enleve(intval($_GET['ligne']));
    
    
    			$_SESSION['caddie']->nettoie();
    
    
    			$_SESSION['caddie']->recalc_total();
    
    
    			//if (!empty($_SESSION['caddie']->code_cheque)) { 
    
    
    			//$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); 
    
    
    			//array_push($error, $error_check);
    
    
    			//}
    
    
    			//if (!empty($_SESSION['caddie']->code_bon)) { 
    
    
    			//$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); 
    
    
    			//array_push($error, $error_bon);
    
    
    			//}
    
    
    			//if (!empty($_SESSION['caddie']->type)) { 
    
    
    			//calcul_frais_expedition(vb($_SESSION['caddie']->type));
    
    
    			//}
    
    
    			header("Location:".$_SERVER["PHP_SELF"]);
    
    
    
    		break;
    
    
    		case "vide" :
    
    
    		foreach($_SESSION['caddie']->articles as $ligne => $produitid) {
    
    
    			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$ligne]."'");
    
    
    			$C = mysql_fetch_object($resC);
    
    
    			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$ligne]."'");
    
    
    			$T = mysql_fetch_object($resT);
    
    
    			$sql = "DELETE FROM peel_stocks_temp WHERE produit_id = '".intval($produitid)."' AND couleur_id = '".vn($C->id)."' AND taille_id = '".vn($T->id)."'";
    
    
    			mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    		}
    
    
    			$_SESSION['caddie']->init();
    
    
    			break;
    
    
    		case "sauvegarde" :
    
    
    			maj_quantite($_POST);
    
    
    			if (est_identifie()) {
    
    
    				header("Location:$wwwroot/achat/sauvegarde_devis.php");
    
    
    			} else {
    
    
    				header("Location:$wwwroot/membre.php");
    
    
    			}
    
    
    		break;						
    
    
    		case "recalc" :
    
    
    			$error = maj_quantite($_POST);
    
    
    		break;
    
    
    		case "commande" :
    
    
    			if (empty($_SESSION['caddie']->pays)) {
    
    
    				$erreur_pays = stripslashes(MSG_ERR_SHIP_COUNTRY);
    
    
    			} elseif (empty($_SESSION['caddie']->type)) {
    
    
    				$erreur_type = stripslashes(MSG_ERR_TYPE);
    
    
    			} else {
    
    
    			maj_quantite($_POST);
    
    
    			$_SESSION['caddie']->nettoie();
    
    
    			$_SESSION['caddie']->recalc_total();
    
    
    			if (est_identifie()) {
    
    
    				header("Location:$wwwroot/achat/achat_maintenant.php");
    
    
    			} else {
    
    
    				header("Location:$wwwroot/membre.php");
    
    
    			}
    
    
    			}
    
    
    			break;			
    
    	}
    
    
    
    
    
    
    
    	$_SESSION['caddie']->nettoie();
    
    
    	$_SESSION['caddie']->recalc_total();
    
    }
    
    
    
    $DOC_TITLE = "PEEL.FR";
    
    
    include("$repertoire_modele/haut.php");
    
    include("modeles/caddie.php");
    
    include("$repertoire_modele/bas.php");
    
    
    /******************************************************************************
    
     * FONCTIONS
    
     *****************************************************************************/
    
    
    function maj_quantite(&$form) {
    
    
    global $seuil;
    
    global $seuil_total;
    
    global $seuil_total_reve;
    
    
    		$type = vb($_POST['type']);
    
    
    		$code_promo = vb($_POST['code_promo']);
    
    
    		$code_cheque = vb($_POST['code_cheque']);
    
    
    		$code_bon = vb($_POST['code_bon']);
    
    
    		$ship = explode("|", $_POST['pays_zone']);
    
    
    		$paysId = intval($ship[0]);
    
    
    		$zoneId = intval($ship[1]);
    
    
    		$zoneTVA = 1;
    
    
    		/*************************************************************/
    
    		/* Récupération du nom du pays puis insertion dans le caddie */
    
    
    		/*************************************************************/
    
    		$sqlCountry = "SELECT pays_".$_SESSION['langue']." as pays FROM peel_pays WHERE id = '".vb($paysId)."'";
    
    
    		$resCountry = mysql_query($sqlCountry)
    
    		or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    		if ($resCountry) {
    
    
    			if (mysql_num_rows($resCountry) > 0) {
    
    
    				$Country = mysql_fetch_array($resCountry);
    
    
    				$pays = $Country['pays'];
    
    
    				$_SESSION['caddie']->pays($pays); #- On place le nom du pays dans le caddie si il est déterminé
    
    
    
    			} else {
    
    
    				$pays = "";
    
    
    			}
    
    
    		}
    
    
    		/********************************************************************************
    
    ********************************/
    
    		/* Si le pays d'expédition est déterminé, on récupère la zone et on vérifie si la zone de TVA s'applique ou pas */
    
    		/********************************************************************************
    
    ********************************/
    
    
    		$sqlZone = "SELECT nom_".$_SESSION['langue'].", tva FROM peel_zones WHERE id = '".vn($zoneId)."'";
    
    
    		$resZone = mysql_query($sqlZone);
    
    
    		if ($resZone) {
    
    
    			if (mysql_num_rows($resZone) > 0) {
    
    
    				$Zone = mysql_fetch_row($resZone);
    
    
    				$zone = $Zone[0];
    
    
    				$zoneTva = $Zone[1];
    
    
    				$_SESSION['caddie']->zone($zone, $zoneTva); #- On place la zone si elle est déterminée
    
    
    
    			} else {
    
    
    				$zone = "";
    
    
    				$zoneTva = 1;
    
    
    			}
    
    
    		}
    
    
    		/*********************************/
    
    		/* Calcul des frais d'expédition */
    
    		/*********************************/
    
    
    		if (!empty($type)) { calcul_frais_expedition(vb($type)); }
    
    
    		/*********************************/
    
    		/* Gestion du code promotionnel  */
    
    		/*********************************/
    
    
    		$error = array();
    
    
    		$sql_cp = "SELECT * FROM `peel_codes_promos` WHERE nom = '".strtoupper($code_promo)."' AND `date_debut` < now( ) AND `date_fin` > now( )" or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    		$res_cp = mysql_query($sql_cp);
    
    
    		$code = mysql_fetch_array($res_cp);
    
    
    		if (mysql_num_rows($res_cp) > 0) {
    
    
    			$remise_code_percent = $code['remise'];
    
    
    			$_SESSION['caddie']->code_promo(strtoupper($code_promo), $remise_code_percent);  #- On place le code promo dans le caddie si il est déterminé.
    
    
    		} else {
    
    
    			$remise_code = 0;
    
    
    			if (!empty($code_promo)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné.
    
    
    				array_push($error,nl2br(MSG_ERR_CODE_PROMO));
    
    
    			}
    
    
    		}
    
    
    		/*********************************/
    
    		/* Gestion du chèque cadeau	  */
    
    		/*********************************/
    
    
    		$error_check = calcul_code_cheque_cadeau($code_cheque);
    
    
    		array_push($error, $error_check);
    
    
    		/*******************************************/
    
    		/* Gestion du bon de réduction	  */
    
    		/*******************************************/
    
    
    		$error_bon = calcul_code_bon_reduction($code_bon);	
    
    
    		array_push($error, $error_bon);
    
    
    	/*****************************************************************/
    
    	/* Récupération des remises en % qui ne sont pas dans un tableau */
    
    	/*****************************************************************/
    
    
    	foreach ($_POST['id'] as $i => $produitid) {
    
    
    		$sqlProd = "SELECT nom_".$_SESSION['langue']." as nom, prix, prix_revendeur, promotion, tva, etat_stock, delai_stock, points, poids FROM peel_produits WHERE id = '".intval($produitid)."'";
    
    
    		$resProd = mysql_query($sqlProd) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    		$prod = mysql_fetch_array($resProd);
    
    
    		$points = $prod['points'];
    
    
    		$poids = $prod['poids'];
    
    
    		$tva_percent = !empty($zoneTva) ? $prod['tva'] : "0";
    
    
    		/*******************************************************************/
    
    		/* 0 - On récupère les données du caddie						   */
    
    		/******************************************************************/	
    
    
    		$quantite = $_POST['quantite'][$i];
    
    
    		$comment = vb($_POST['comment'][$i]);
    
    
    		$option = vn($_POST['option'][$i]);
    
    
    		$email_check = vb($_POST['email_check'][$i]);
    
    
    		/**************************************************/
    
    		/* 1 - On récupère le prix catalogue (sans promo) */
    
    		/**************************************************/		
    
    
    		/* Choix entre prix revendeur et prix public */
    
    
    		(isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") ? $prix_cat = $prod['prix_revendeur'] + vn($option) : $prix_cat = $prod['prix'] + vn($option);
    
    
    		$prix_cat_ht = $prix_cat / (1 + $tva_percent/100);
    
    
    		/****************************************************************************/
    
    		/* 2 - On calcule les promotions en valeur (calculé toujours sur le prix HT) */
    
    		/***************************************************************************/	
    
    
    		$remise_produit_percent = vn($prod['promotion']);
    
    
    		$remise_produit = $prix_cat_ht * $remise_produit_percent/100;
    
    
    		/*******************************************************************/
    
    		/* 3 - On calcule le prix vendu HT et le prix TTC				  */
    
    		/******************************************************************/	
    
    
    		$prix_ht = $prix_cat_ht - $remise_produit;
    
    
    		$prix = $prix_ht * (1+$tva_percent/100);
    
    
    		$total_prix = $prix * $quantite;
    
    
    		$total_prix_ht = $prix_ht * $quantite;
    
    
    		$tva = $total_prix - $total_prix_ht;
    
    
    		/*******************************************************************/
    
    		/* 4 - Contrôle des problématiques liées à la gestion des stocks*/
    
    		/******************************************************************/	
    
    
    		$etat_stock = $prod['etat_stock'];
    
    
    		$delivery_stock = $prod['delai_stock'];
    
    
    		$couleur = $_POST['couleur'][$i];
    
    
    		$taille = $_POST['taille'][$i];
    
    
    		$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$couleur."'");
    
    
    		$C = mysql_fetch_object($resC);
    
    
    		$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$taille."'");
    
    
    		$T = mysql_fetch_object($resT);
    
    
    		$s = mysql_fetch_array(mysql_query("SELECT stock FROM peel_stocks WHERE produit_id = '".$produitid."' AND couleur_id = '".vn($C->id)."' AND taille_id = '".vn($T->id)."'"));
    
    
    		if ($etat_stock == 1) {
    
    
    			/* $s est d&eacute;finie dans la requ&ecirc;te de controle du stock */	
    
    			if ($quantite > $s['stock']) {
    
    
    			$resProd = mysql_query("SELECT nom_".$_SESSION['langue']." as nom FROM peel_produits WHERE id = '".intval($produitid)."'");
    
    
    			$Prod = mysql_fetch_object($resProd);
    
    
    			$message = "<p>Attention, Le produit <i>".$prod['nom']."</i> dispose d'un stock limit&eacute; &agrave; ".$s['stock']." unit&eacute;s.</p>";
    
    
    			array_push($error,nl2br($message));
    
    
    			$quantite = $s['stock'];
    
    
    			}
    
    
    		}
    
    
    		/*******************************************************************/
    
    		/* 5 - On envoie les données dans l'objet caddie				   */
    
    		/******************************************************************/	
    
    
    
    		$_SESSION['caddie']->place(
    
    		$i, 
    
    		$produitid, 
    
    		$quantite, 
    
    		$couleur, 
    
    		$taille, 
    
    		$prix_cat, 
    
    		$prix_cat_ht, 
    
    		$prix, 
    
    		$prix_ht, 
    
    		$total_prix,
    
    		$total_prix_ht,
    
    		$tva_percent, 
    
    		$tva, 
    
    		$poids, 
    
    		$points, 
    
    		$remise_produit_percent, 
    
    		$remise_produit, 
    
    		$comment, 
    
    		$etat_stock, 
    
    		$delivery_stock, 
    
    		$option,
    
    		$email_check);			
    
    
    		}	
    
    
    		if (!empty($type)) { calcul_frais_expedition(vb($type)); }
    
    
    		return $error;
    
    
    }
    
    
    /*******************************************/
    
    /* Gestion du bon de réduction			 */
    
    /*******************************************/
    
    
    function calcul_code_bon_reduction(&$code_bon) {
    
    
    			$error_bon  = "";
    
    
    			$sql_bon = "SELECT * FROM `peel_bons_reduction` WHERE nom = '".strtoupper($code_bon)."'" or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    			$res_bon = mysql_query($sql_bon);
    
    
    			$ar_bon = mysql_fetch_array($res_bon);
    
    
    			if (mysql_num_rows($res_bon) > 0) {
    
    
    				if ($ar_bon['seuil'] <= $_SESSION['caddie']->total) {
    
    
    					$remise_code_bon = $ar_bon['remise'];
    
    
    					$bon = $ar_bon['nom'];
    
    
    					$_SESSION['caddie']->bon_reduction(strtoupper($bon), $remise_code_bon);  #- On place le code dans le caddie si il est déterminé.
    
    
    				} else {
    
    
    				$remise_code_bon = 0;
    
    
    				$bon = "";
    
    
    				$_SESSION['caddie']->bon_reduction(strtoupper($bon), $remise_code_bon);  #- On place le code dans le caddie si il est déterminé.
    
    
    				$error_bon = nl2br(MSG_ERR_CODE_BON_SEUIL);
    
    
    				}
    
    
    			} else {
    
    
    				$remise_code_bon= 0;
    
    
    				if (!empty($code_bon)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné.
    
    
    					echo $error_bon;
    
    
    					$error_bon = nl2br(MSG_ERR_CODE_BON);
    
    
    				}
    
    
    			}
    
    
    			return $error_bon;
    
    
    }
    
    
    function calcul_code_cheque_cadeau(&$code_cheque) {
    
    
    			$error_check  = "";
    
    
    			$sql_check = "SELECT * FROM `peel_cheques_cadeaux` WHERE code = '".strtoupper($code_cheque)."' AND etat = '1' " or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    			$res_check = mysql_query($sql_check);
    
    
    			$ar_check = mysql_fetch_array($res_check);
    
    
    			if (mysql_num_rows($res_check) > 0) {
    
    
    				if ($ar_check['seuil'] <= $_SESSION['caddie']->total) {
    
    
    					$remise_code_check = $ar_check['remise_cheque'];
    
    
    					$code_cheque = $ar_check['code'];
    
    
    					$_SESSION['caddie']->cheque_cadeau(strtoupper($code_cheque), $remise_code_check);  #- On place le code dans le caddie si il est déterminé.
    
    
    				} else {
    
    
    				$remise_code_check = 0;
    
    
    				$code_cheque = "";
    
    
    				$_SESSION['caddie']->cheque_cadeau(strtoupper($code_cheque), $remise_code_check);  #- On place le code dans le caddie si il est déterminé.
    
    
    				$error_check = nl2br(MSG_ERR_CODE_CHECK_SEUIL);
    
    
    				}
    
    
    			} else {
    
    
    				$remise_code_check= 0;
    
    
    				if (!empty($code_cheque)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné.
    
    
    					$error_check = nl2br(MSG_ERR_CODE_CHECK);
    
    
    				}
    
    
    			}
    
    
    			return $error_check;
    
    
    }	
    
    
    
    
    
    
    function calcul_frais_expedition(&$type) {
    
    
    global $seuil;
    
    global $seuil_total;
    
    
    			$_SESSION['caddie']->type($type); #- On place le type d'expédition si il est déterminé
    
    
    			$expedition = 0;
    
    
    			$queryType = mysql_query("SELECT id FROM peel_types WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($type, ENT_QUOTES)."'")
    
    			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    			$objType = mysql_fetch_object($queryType);
    
    
    			$queryZone = mysql_query("SELECT id FROM peel_zones WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($_SESSION['caddie']->zone, ENT_QUOTES)."'")
    
    			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    			$Zone = mysql_fetch_object($queryZone);
    
    
    			$ZoneId = $Zone->id;
    
    
    			$sql_tarif = "SELECT tarif, poidsmax, tva FROM peel_tarifs WHERE type = '".$objType->id."' AND zone = '".$ZoneId."' ORDER BY poidsmax ASC";
    
    
    			$result_tarif = mysql_query($sql_tarif)
    
    			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    				if ($result_tarif) {
    
    
    					if (mysql_num_rows($result_tarif)) {
    
    
    						while ($tab_tarif = mysql_fetch_array($result_tarif)) {
    
    
    							if ($_SESSION['caddie']->total_poids <= $tab_tarif['poidsmax']) {
    
    
    								$expedition = $tab_tarif['tarif'];
    
    
    								$expedition_ht = $tab_tarif['tarif'] / (1+$tab_tarif['tva']/100);
    
    
    								break;
    
    
    							} else {
    
    
    							$expedition = $tab_tarif['tarif'];
    
    
    							$expedition_ht = $tab_tarif['tarif'] / (1+$tab_tarif['tva']/100);
    
    
    							}
    
    
    						}
    
    
    					}
    
    
    				} 
    
    
    			#- Vérifie si le total du panier n'exc&egrave;de pas les seuils d&eacute;finis en back office
    
    			$seuil = (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve")  ? $seuil_total_reve : $seuil_total;
    
    
    			if ($_SESSION['caddie']->total_produit > $seuil) {$expedition = 0; $expedition_ht = 0;} #- Frais de port gratuit si le total TTC des produits est > au seuil.
    
    
    			$_SESSION['caddie']->expedition($expedition, $expedition_ht); #- On place le cout du transport dans le caddie
    
    
    
    }
    
    
    
    
    ?>

    Voila...


  7. ok ben jvais voir ce sue j'arrive à faire et je vous recontacterez

    Mais lorsque j'ai voulu elevé les lignes que je ne voulez pas afficher dans le caddie, j'avais des problemes lorsque je voulais retourner sur la page d'accueil (par exemple) j'aivais une erreur php et impossible de faire quoi que ce soit.

    Alors dans quelle page puis-je trouver le calcul des frais de ports exactement car j'ai cherché dans "caddie_affichage"; "caddie" mais je n'ai pas reussi à trouver les lignes correspondant au calcul du transport.

    Et une dernière question (du moins pour le moment ;) ) est-il possible de passer le calcul du transport avec des variables globales afin de pouvoir récupérer les valeurs de ces variables dans une autre page ?


  8. pas exactement mais c'est dans l'dée

    En fait il n'aura pas le choix du mode d'expédition car les expéditions sont faites par un seul transporteur et ce transport nous fait passer le tableau des

    tarifs qu'il applique selon l'adresse de destination. Donc une fois le pays selectionné le transport doit être automatiquement calculé selon les deux premier chiffre du code postal (c'est à dire en fonction du département)


  9. Bonjour,

    Voila, lorsque le client commande un article et qu'il arrive sur le caddie, je voudrais que le premier affichage du caddie ne comporte pas le cout du transport, car

    le transport est facturé selon l'adresse de livraison (sans choix possible par le client - il sélectionne l'adresse de livraison et le calcul du transport devra etre

    automatisé selon un tableau de tarifs) et une fois que le client choisi soit :

    - récupération de la commande au comptoir

    - livraison à l'adresse de facturation

    - livraison à une autre adresse

    et là en fonction de son choix le cout du transport sera calculé puis apres l'étape '2' il obtiendra les prix définitifs


  10. En fait c'est ce que j'ai commencer par faire mais il ne prend que la tranche la plus grande j'ai renseigné mes tables (tarif zone et types) en commencant que par un seul département mais comme je n'ai pas encore fais la fonction pour le calcul automatique en fonction de l'adresse de livraison, il devrai normalement me prendre en compte les tarif que j'ai renseignés dans la table peel_tarifs. Non ??

Twitter Advisto ecommerce

Facebook PEEL Shopping