aguiv

  • Nombre de sujets
    1
  • Nombre de messages
    5
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
aguiv
le 17/03/2005 à 18:04
pb de variable qui ne passe pas
Bonjour à tous,

j'ai le pb suivant : dans un caddie virtuel (page panier) j'ai une $total qui correspond à la somme des articles commandés. Le caddie fonctionne, qd on clique sur commander on est dirigé sur la page commande qui redirige sur une page login (qui marche). Qd on s'est logué on a accès à la page commande dans laquelle je récupère les articles mis dans le panier et la somme des articles ($total) mais la $total que je récupère dans une table de la base est toujours égal à 0.

extrait du code de la page panier :
<?php
session_start();
//init des variables
if(!isset($HTTP_GET_VARS['ajoutPanier'])) $ajoutPanier="";//init de nb si non déclaré
else $ajoutPanier=$HTTP_GET_VARS['ajoutPanier'];
if(!isset($HTTP_GET_VARS['modifPanier'])) $modifPanier="";//init de modifPanier si non déclaré
else $modifPanier=$HTTP_GET_VARS['modifPanier'];
if(!isset($HTTP_GET_VARS['suppPanier'])) $suppPanier="";//init de suppPanier si non déclaré
else $suppPanier=$HTTP_GET_VARS['suppPanier'];
if(!isset($HTTP_GET_VARS['enregistreCommande'])) $enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$HTTP_GET_VARS['enregistreCommande'];
if ((!isset($HTTP_SESSION_VARS['liste']))&&($ajoutPanier=="")) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
if (isset($HTTP_SESSION_VARS['liste'])) $liste=$HTTP_SESSION_VARS['liste'];//recup de la liste de la session
if (!isset($_SESSION['total']))$total=0;
else $total=$_SESSION['total'];
?>
...
<?php
$total=0.00; // initialisation du total de la commande à 0
for ($i=0;$i<count($liste);$i++)
{//début du bloc for
$query_rsPanier="select * from articles_rdt where reference ='".$liste[$i][1]."'";
$rsPanier=mysql_query($query_rsPanier, $ConnectionSiteRDT) or die(mysql_error());
$row_rsPanier=mysql_fetch_assoc($rsPanier);
/*définition et exécution de la requête SQL afin de récupérer les informations de l'article stocké dans la base(référence...)*/
?>
<tr bgcolor="#FFFF99">
<td width="99" height="20" bgcolor="#FFFF99" class="style17"><div align="left"><?php echo $row_rsPanier['code_rdt']; ?> </div></td>
<td width="204" height="20" bgcolor="#FFFF99" class="style17"><?php echo $row_rsPanier['reference'] ?></td>
<td width="96" height="20" bgcolor="#FFFF99" class="style11"><select name="nb<?php echo $i ?>" class="
liste[$i][2]==1) echo "SELECTED"; ?>>1</option></select>
<?php $total+=$row_rsPanier['PrixVenteTTC'] * $liste[$i][2];
}// fin du bloc for
?>
<strong>Total de votre commande <?php echo $total ?> &euro; TTC </strong></span></td>

Page commande :
<?php
session_start();
//test si client déjà identifié
if (!isset($HTTP_SESSION_VARS['statut'])||($HTTP_SESSION_VARS['statut'] != "client"))
{ header("Location:login.php"); }
?>
<?php
//init des variables
if (!isset($_SESSION['total'])) $total=0;
else $total=$_SESSION['total'];
if (!isset($HTTP_GET_VARS['commandeID'])) $HTTP_GET_VARS['commandeID']=0;
if (!isset($HTTP_SESSION_VARS['statut'])) $statut="NON IDENTIFIE";
else $statut=$HTTP_SESSION_VARS['statut'];
if (!isset($HTTP_SESSION_VARS['action'])) $action="";
else $action=$HTTP_SESSION_VARS['action'];
if (!isset($HTTP_SESSION_VARS['liste'])) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
else $liste=$HTTP_SESSION_VARS['liste'];//recup de la liste de la session
if (!isset($HTTP_SESSION_VARS['clientID'])) $clientID=0;
else $clientID=$HTTP_SESSION_VARS['clientID'];
?>
<?php require_once('../Connections/ConnectionSiteRDT.php'); ?>
<?php
//enregistrement d'une nouvelle commande dans la table commandes
if (($action=="enregistre")&&($statut== "client"))
{
mysql_select_db($database_ConnectionSiteRDT, $ConnectionSiteRDT);
$insertCommande = "INSERT INTO commandes_rdt (date, clientID, total) VALUES (NOW(),'$clientID', '$total')";
$Result1 = mysql_query($insertCommande, $ConnectionSiteRDT) or die(mysql_error());
$commandeID=mysql_insert_id();//récupère l'identifiant client attibué ...
?>

En fait dans la page commande si je change : if (!isset($_SESSION['total'])) $total=0;
else $total=$_SESSION['total'];
par
if (!isset($_SESSION['total'])) $total=1;
else $total=$_SESSION['total'];
alors $total envoyé dans la base =1. Apparemment la $total n'est pas reconnu dans la page commande.

Si qq peut m'aider à résoudre le pb, grand merci, je sèche dessus depuis qq jours.

Ses derniers messages sur les forums

forum
aguiv
le 19/03/2005 à 16:47
pb de variable qui ne passe pas
oui, d'accord c'était une énorme bêtise, mais c'est comme ca qu'on apprend quand on est débutant.
Merci à tous pour vos conseils.
aguiv
le 18/03/2005 à 13:39
pb de variable qui ne passe pas
j'ai mis $_SESSION ['total'] = $total ;
à cet endroit du code :
<?php
$_SESSION ['total'] = $total ;
$total=0.00; // initialisation du total de la commande à 0
for ($i=0;$i<count($liste);$i++)
{//début du bloc for
[\code]
mais ce ne change rien.
Qu'est-ce que je fais de mal ?

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours