Bonjour à tous,

Je suis entrain de faire un petit système simple de panier virtuel + commande mais sans paiement en ligne !

Après la validation de la commande, un message indique que la commande à bien était passé, puis vide le panier.

Le problème est que sur cette page, si l'on clique sur actualiser, il n'affiche rien de spécial, mais continue à me créer des commandes vide dans ma bdd.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
session_start();
include("tv.inc"); 
 
// Processus de Login obligatoire pour continuer
 
  if (@$_SESSION['auth'] != "yes")                     # 9
  {
     header("Location: Member_page.php");
     exit();
  }
 
 
// Connexion et Selection de la base 
 
$cxn = mysql_connect($host, $user, $passwd) 
            or die ("Couldn't connect to server.");    #15
 
	$db_selected = mysql_select_db($dbname, $cxn);
	if (!$db_selected) {
   		die ('Impossible de selectionner la base de donnees : ' . mysql_error());
}
 
 
// requete d'insertion du n° de commande dans la BDD
 
$log=$_SESSION['logname'];	
$requete_log ="INSERT INTO Commande (Cde_Num,Cde_loginName,Cde_Date) VALUES ('','".$log."',NOW())";	
 
$rq_log_insert = mysql_query($requete_log) or die ('Erreur '.$requete_log.' '.mysql_error());
 
include("header.php"); 
 
?>
 
 
 
  <div id="content">
   	  <h1>Votre commande</h1>
<? 
// recuperer le numéro de la commande
 
$num_cde ="SELECT MAX(Cde_Num) AS MaxNumCde FROM Commande WHERE Cde_loginName='{$_SESSION['logname']}'";		 
$resNumCde = mysql_query($num_cde) or die ('Erreur '.$num_cde.' '.mysql_error()); 
 
$res_num_cde = mysql_fetch_assoc($resNumCde) or die ('Erreur '.$resNumCde.' '.mysql_error());
 
// requete d'insertion de la commande dans la BDD
 
$ref=$_SESSION['panier']['Reference'];
$nom=$_SESSION['panier']['NomProduit'];
$qteC=$_SESSION['panier']['qteColis'];
$qteP=$_SESSION['panier']['qteProduit'];
$prix=$_SESSION['panier']['PrixUnitaire'];
 
$nbArticles=count($_SESSION['panier']['NomProduit']);
  if ($nbArticles <= 0)
   exit ("Votre panier est vide. La commande ne peut être finalisée.");
  else
  {
   for ($i=0 ;$i < $nbArticles ; $i++)
   { 
     $requete ="INSERT INTO LigneCommande (LC_Id,Lc_IdCommande,LC_IdProduit,LC_Quantite,LC_MontantTTC,LC_MontantTVA) VALUES ('','".$res_num_cde['MaxNumCde']."','".$ref[$i]."','".$qteP[$i]."','".$prix[$i]."',19.6)";
 
     $rq_insert = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
   }
  }
 
  $num_cde_format = sprintf("%06d", $res_num_cde['MaxNumCde']);
   echo "Votre commande a bien été enregistrée sous le n° ".$num_cde_format."";
 
// efface les données de session du panier
 
unset ($_SESSION['panier']);
 
?>
	<br/><br/>
  </div>

Merci pour votre aide.

Mikael