Pb de sessions/fonctions

cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007 - 27 sept. 2004 à 19:21
cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007 - 28 sept. 2004 à 21:52
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
<?php

  include ('./fonctions.php');
  session_start();
  $nom = $HTTP_POST_VARS['nom'];
  $prenom = $HTTP_POST_VARS['prenom'];
  $adresse = $HTTP_POST_VARS['adresse'];
  $mail = $HTTP_POST_VARS['mail'];
  $telephone = $HTTP_POST_VARS['telephone'];
  $civile = $HTTP_POST_VARS['civile'];
  $ville = $HTTP_POST_VARS['ville'];
  $cp = $HTTP_POST_VARS['cp'];
  $pays = $HTTP_POST_VARS['pays'];

  if($HTTP_SESSION_VARS['caddy']&&$nom&&$prenom&&$adresse&&$mail&&$telephone&&$civile&&$ville&&$cp&&$pays)
  {
    if( inserer_commande($HTTP_POST_VARS)!=false )
    { 
     afficher_livraison(calculer_livraison($HTTP_SESSION_VARS['caddy'], false, 1)); 
    }
    else
    {
      echo 'il y a un probleme';
   }
}
  else
  {
    echo 'ca marche pas';
  } 

?>

et voici le code de ma fonction calculer_livraison
function calculer_livraison($caddy)
{
  // 
  $prix = 0.0;
  if(is_array($caddy))
  {
    $conn = db_connect();
    foreach($caddy as $ref => $quantite)
    {  
      $query = "select prix_livraison from articles where ref='$ref'";
      $result = mysql_query($query);
      if ($result)
      {
        $prix_livraison = mysql_result($result, 0, 'prix_livraison');
        $prix +=$prix_livraison*$quantite;
      }
    }
  }
  return $prix;
}


merci de votre aide

3 réponses

cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007
28 sept. 2004 à 14:43
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 :
<?
function afficher_livraison($livraison)

{
 global $HTTP_SESSION_VARS;
$HTTP_SESSION_VARS['prix_general']=$livraison+$HTTP_SESSION_VARS['prix_total'];
echo number_format($livraison, 2, ',', ' ').'
';
echo number_format($HTTP_SESSION_VARS['prix_general'], 2, ',', ' ').' ';
}
?>

le probleme vient de l'addition
$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
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
28 sept. 2004 à 20:06
$HTTP_SESSION_VARS n'est plus recommendé par les developpeurs du PHP mieux vaut utiliser $_GET $_POST $_SESSION $_COOKIE vois avec ca qui sait sur certaine configuration $HTTP_SESSION_VARS n'est plus supporte c'est peut etre ton cas
0
cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007
28 sept. 2004 à 21:52
ca change rien !!!
0
Rejoignez-nous