cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010
-
5 oct. 2004 à 16:10
cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010
-
5 oct. 2004 à 23:59
bonjour !
voila j'ai de grosses difficultés avec une variable de session
$_SESSION['prix_general'];
elle permet d'additionner le somme d'un caddie avec les frais de livraison.
mais voila a l'affichage tout ce passe bien grace a la fonction affiche_somme_total dans laquelle il n'y a qu'un echo $_SESSION['prix_general'];
et dans le print_r($_SESSION); de la page recap.php il recuperere bien 'prix_general'
ex :
Array ( [caddy] => Array ( [1] => 1 ) [produits] => 1 [prix_total] => 200000000 [prix_general] => 200000119 )
//recap.php
<?php
session_start();
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$test = $_SESSION['prix_general'];
// si le formulaire est rempli
if($_SESSION['caddy']&&$nom&&$prenom&&$test)
{
// on peut inserer les données dans la base de donnée
if( inserer_commande($_POST)!=false )
{
$livraison = calculer_livraison($_SESSION['caddy'], $id_pays );
afficher_livraison($livraison);
$_SESSION['prix_general']=$livraison+$_SESSION['prix_total'];
affiche_somme_total();
//echo print_r($_SESSION);
}}
?>
mais si je veux inserer inserer la commande dans ma base de donnée, tout fonctionne sauf pour $test qui est egal a $_SESSION['prix_general'];, il iinsere comme valeur 0.00
<?php
function inserer_commande($commande_details)
{
extract($commande_details);
$query = "insert into commandes values
('', $client_id, ".$_SESSION['prix_general'].", '$test', '$nom', '$prenom')";
$result = mysql_query($query);
if (!$result)
return false;
$query = "select commande_id from commandes where
client_id = $client_id and
calcul > ".$_SESSION['prix_general']."-.001 and calcul < ".$_SESSION['prix_general']."+.001 and
calcul_livraison = '$test' and nom '$nom' and prenom '$prenom' ";
$result = mysql_query($query);
if(mysql_numrows($result)>0)
$commande_id = mysql_result($result, 0, 'commande_id');
else
return false;
?>
0.00 qu'on retrouve dans le caddie parce que si je ne declare pas $_SESSION['prix_general'] ='0.00'; alors ma fonction affiche_somme_total ne marche pas
j'ai un Undefined index: prix_general a la ligne $test = $_SESSION['prix_general']; de la page recap.php
et ne peut donc pas le recuperer exemple :
Array ( [caddy] => Array ( [1] => 1 ) [produits] => 1 [prix_total] => 200000000 )