Besoin d'aide : le traitement du panier ne fonctionne pas

missulie Messages postés 4 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 24 avril 2009 - 24 avril 2009 à 20:14
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 25 avril 2009 à 00:36
Bonjour,
Je viens de créer un site marchand avec Dreamweaver en suivant les étapes d'un livre car je suis débutante en php, mais je coince sur la page de traitement du panier.

Dans ma page traitement_panier.php, il n'y a que la partie en html qui s'affiche. Quand j'insère des echo pour voir quelle est la valeur d'une variable rien ne s'affiche.

Est-ce que mon problème provient d'un erreur
- de session (la page de panier est en accès restreint alors que la page traitement panier ne l'est pas) ?
- de code php dans le body ?

J'ai fait pas mal d'essais, sans succès. (Pour le reste du site j'avais utilisé l'interface de dreamweaver et maintenant qu'il faut que je m'intéresse au code, je me sens complètement perdue.)

J'espère que quelqu'un saura trouver mon erreur pour me permettre de terminer mon projet. Merci

Voici le code de ma page :

<?php require_once('../Connections/xxx.php'); ???><?php function GetSQLValueString($theValue, $theType, $theDefinedValue "", $theNotDefinedValue "")
{
$theValue = (!get_magic_quotes_gpc()) ? stripslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) ."'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
???><head><title>Commande étape 2/5 </title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><link href="http:/www.xxx.com/style.css" rel="stylesheet" type="text/css" /><?php include('xxx.php'); ???></head><?php

//récupérer le dernier numéro de commande attribué au client actuel
if (isset($_SESSION['MM_Username'])) {
mysql_select_db($database_xxx, $xxx);
$query_commande = sprintf("SELECT id
FROM commande
WHERE mail ='".$_SESSION['MM_Username']."'
ORDER BY id DESC");
$commande = mysql_query($query_commande, $xxx) or die(mysql_error());
$row_commande = mysql_fetch_assoc($commande);
$totalRows_commande = mysql_num_rows($commande);


//récupérer 1ere ligne du panier du client actuel
mysql_select_db($database_xxx, $xxx);
$query_panier = sprintf("SELECT panier.*,
produit.prix,
produit.prix*panier.quantite
AS ss_ss_total_ttc
FROM panier
INNER JOIN produit
ON produit.id=panier.produit
WHERE client ='".$_SESSION['MM_Username']."'");
$panier = mysql_query($query_panier, $xxx) or die(mysql_error());

//nb d'enregistrements concerné par la requête
$totalRows_panier = mysql_num_rows($panier);
$compteur = 0;

/* Tant que la requête $panier renvoie une donnée et que le compteur n'a pas atteint le nb total d'enregistrements, on insère le contenu extrait de la table panier ds la table ligne_commande.
On efface ensuite la ligne panier que l'on a traité et on incrémente le compteur pr traiter le prochain enregistrement lors du prochain passage ds la boucle. */

while ($row_panier = mysql_fetch_assoc($panier) and $compteur < $totalRows_panier)
{
$query_ligne_commande = sprintf("INSERT INTO ligne_commande (commande, produit, prix, quantite, ss_ss_total_ttc) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($row_commande['id'], "int"),
GetSQLValueString($row_panier['produit'], "int"),
GetSQLValueString($row_panier['prix'], "double"),
GetSQLValueString($row_panier['quantite'], "int"),
GetSQLValueString($row_panier['ss_ss_total_ttc'], "double"));
mysql_select_db($database_xxx, $xxx);
$Result1 = mysql_query($query_ligne_commande, $xxx) or die(mysql_error());
$query_suppr_panier = sprintf("DELETE FROM panier WHERE id=%s",
GetSQLValueString($row_panier['id'], "int"));
mysql_select_db($database_xxx, $xxx);
$Result1 = mysql_query($query_suppr_panier, $xxx) or die(mysql_error());

$compteur = $compteur+1;
}
}
???></html>
<?php
mysql_free_result($panier);
mysql_free_result($commande<

1 réponse

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
25 avril 2009 à 00:36
Salu Missulie,

Je reste sur le "Voici le code de ma page :"
...

Kohntark -
Rejoignez-nous