pb de sessions/fonctions

pb de sessions/fonctions - PHP - Programmation

Marsh Posté le 27-09-2004 à 21:42:31    

salut !  
bon .... je suis un peu perdu  
je vous explique :  
j'ai une page formulaire.php qui permet a l'utilisateur de laisser ces coordonnées (envoyer dans des variables de sessions)...une fois valider on tombe sur une page recap.php qui donne le recapitulatif de la commande qu'a fait l'utilisateur... jusque la pas de probleme .  
mais si je retourne sur la page formulaire(et que que je revalide mes coordonnées)alors s'affiche ..."il y a un probleme"  
je n'arrive pas a voir d'ou vient justement mon pb... j'imagine que ca vient de mettre comme parametre une var de session dans la fonction calculer_prix ... mais je suis pas sur  
voici le code de ma page recap  
 

Code :
  1. <?php
  2.   include ('./fonctions.php');
  3.   session_start();
  4.   $nom = $HTTP_POST_VARS['nom'];
  5.   $prenom = $HTTP_POST_VARS['prenom'];
  6.   $adresse = $HTTP_POST_VARS['adresse'];
  7.   $mail = $HTTP_POST_VARS['mail'];
  8.   $telephone = $HTTP_POST_VARS['telephone'];
  9.   $civile = $HTTP_POST_VARS['civile'];
  10.   $ville = $HTTP_POST_VARS['ville'];
  11.   $cp = $HTTP_POST_VARS['cp'];
  12.   $pays = $HTTP_POST_VARS['pays'];
  13.   if($HTTP_SESSION_VARS['caddy']&&$nom&&$prenom&&$adresse&&$mail&&$telephone&&$civile&&$ville&&$cp&&$pays)
  14.   {
  15.     if( inserer_commande($HTTP_POST_VARS)!=false )
  16.     { 
  17.      afficher_livraison(calculer_livraison($HTTP_SESSION_VARS['caddy'], false, 1)); 
  18.     }
  19.     else
  20.     {
  21.       echo 'il y a un probleme';
  22.    }
  23. }
  24.   else
  25.   {
  26.     echo 'ca marche pas';
  27.   } 
  28. ?>


 
et voici le code de ma fonction calculer_livraison  
 

Code :
  1. function calculer_livraison($caddy)
  2. {
  3.   //   
  4.   $prix = 0.0;
  5.   if(is_array($caddy))
  6.   {
  7.     $conn = db_connect();
  8.     foreach($caddy as $ref => $quantite)
  9.     { 
  10.       $query = "select prix_livraison from articles where ref='$ref'";
  11.       $result = mysql_query($query);
  12.       if ($result)
  13.       {
  14.         $prix_livraison = mysql_result($result, 0, 'prix_livraison');
  15.         $prix +=$prix_livraison*$quantite;
  16.       }
  17.     }
  18.   }
  19.   return $prix;
  20. }


 
 
 
pour info ca ne vient pas de ma fonction inserer_commande parce que si je fais

Code :
  1. if( inserer_commande($HTTP_POST_VARS)!=false
  2.    { 
  3.     afficher_livraison(calculer_livraison()); 
  4.    }


 
et sa fonction  

Code :
  1. function calculer_livraison()
  2. {
  3.   return 20.00;
  4. }


 
 CA MARCHE !!!!!!!  
 
 
 
merci de votre aide


Message édité par attentio le 24-03-2005 à 21:13:34

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
Reply

Marsh Posté le 27-09-2004 à 21:42:31   

Reply

Marsh Posté le 28-09-2004 à 14:39:56    

slt !
en fait le probleme ne vient pas de la fonction calculer_livraison mais de la fonction afficher_livraison
elle permet d'afficher le total des articles dans un caddie comprenant les frais de transports :

Code :
  1. <?
  2. function afficher_livraison($livraison)
  3. {
  4. global $HTTP_SESSION_VARS;
  5. $HTTP_SESSION_VARS['prix_general']=$livraison+$HTTP_SESSION_VARS['prix_total'];
  6. echo number_format($livraison, 2, ',', ' ').'<br>';
  7. echo number_format($HTTP_SESSION_VARS['prix_general'], 2, ',', ' ').' ';
  8. }
  9. ?>

 
le probleme vient de l'addition  

Code :
  1. $HTTP_SESSION_VARS['prix_general']=$livraison+$HTTP_SESSION_VARS['prix_total'];


si je l'enleve (bien sur il ne me fait pas le calcul)je n'ai plus l'erreur...je peux aller a la page precedente puis revenir sur cette page sans l'erreur ... je comprends encore moins d'ou ca peut venir
 
merci  de votre aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed