bonjour , je bloque sur un panier virtuel et la commande qui en résulte.
Le panier fonctionne bien mais quand je lique sur le bouton commande , il me dit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/c/a/...../includes/head.php:14) in /var/www/free.fr/c/a/...../panier.php on line 56
j'ai des 4 includes pour la forme du site.Pour le session_start() , il est dans mon include head.php et pas dans les 2 pages comme ci dessus car sinon ça ne marche pas.Merci pour votre aide
on passe du listing des produits avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
?page=panier&reference=<?php echo $row_Recordset1['id_produit']; ?>&prix=<?php echo $row_Recordset1['prix']; ?>&ajoutPanier=AJOUTER
puis page panier.php
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
session_start();
//init des variables
if (!isset($_SESSION['total'])) $_SESSION['total']=0;
if(!isset($_GET['ajoutPanier'])) $ajoutPanier="";//init de ajoutPanier si non déclaré
else  $ajoutPanier=$_GET['ajoutPanier']; 
if(!isset($_GET['modifPanier'])) $modifPanier="";//init de modifPanier si non déclaré
else $modifPanier=$_GET['modifPanier'];
if(!isset($_GET['suppPanier'])) $suppPanier="";//init de suppPanier si non déclaré
else $suppPanier=$_GET['suppPanier'];
if(!isset($_GET['enregistreCommande'])) $enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$_GET['enregistreCommande'];
if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];//recup de la liste de la session
?>
<?php 
 require_once('Connections/conn.php'); 
		 mysql_select_db($database_conn, $conn);
//----------------------------------------------------AJOUT PANIER
if ($ajoutPanier=="AJOUTER")
{
	$reference=$_GET['reference'];
	$nb=1; //par défaut la quantité est = 1
	$prix=$_GET['prix'];
	$liste[]=array($reference,$nb,$prix,$prix);
	$_SESSION['liste']=$liste;
	//ajoute un article à la liste
}
//----------------------------------------------------MODIF PANIER
if ($modifPanier=="ACTUALISER")
{
	 for ($i=0;$i<count($liste);$i++)
		{
		$nbi='nb'.$i;
		$liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
		$liste[$i][3]=$liste[$i][1]*$liste[$i][2];//prixArticle=nbre*prixUnitaire
		}
	$_SESSION['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------SUPP PANIER
if ($suppPanier=="SUPPRIMER")
{
	$article=$_GET['article'];
	for ($i=0;$i<count($liste);$i++)
		{
		if($article==$liste[$i][0])
			array_splice($liste,$i,1);
		//suppression de l'article
		}
	$_SESSION['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------COMMANDER
if ($enregistreCommande=="COMMANDER")
{
	if(!isset($_GET['action'])) 
	$_SESSION['action']="ENREGISTRER";//mémorise l'action 
	header("Location:index.php?page=commande");
}
 ?>
 
 
 
<table width="100%" border="0" cellspacing="0">
  <tr> 
    <td><p align="center"><strong><font color="#FF0000" size="6" face="Arial, Helvetica, sans-serif">PANIER</font></strong></p>
 
	 	<?php if(isset($liste)) { ?> <form action="" method="get" >
		 <input type="hidden" name="page" value="panier">
  <table width="581" border="1" align="center" cellspacing="0" bordercolor="#FF0000">
    <tr> 
      <td><table width="577" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr bgcolor="#FF0000"> 
            <td width="200"> <div align="center"><font color="#FFFFFF"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Article</font></strong></font></div></td>
            <td width="200"> <div align="center"><font color="#FFFFFF"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Quantit&eacute;</font></strong></font></div></td>
            <td width="200"> <div align="center"><font color="#FFFFFF"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Prix</font></strong></font></div></td>
            <td width="36"> <div align="center"><font color="#FFFFFF"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Supp</font></strong></font></div></td>
          </tr>
        <?php 
 
		   $total=0.00;
  for ($i=0;$i<count($liste);$i++)
{
 
	$rsPanier1=mysql_query("select * from produits where id_produit ='".$liste[$i][0]."'");
	//echo $query_rsPanier;
	    $rsPanier = mysql_fetch_array($rsPanier1);		  
 
?><tr> 
            <td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $rsPanier['nom_produit'] ?></font></div></td>
            <td><div align="center"> 
                <select name="nb<?php echo $i ?>" id="nb">
                  <option value="1"  <?php if($liste[$i][1]==1) echo "SELECTED"; ?>>1</option>
                  <option value="2" <?php if($liste[$i][1]==2) echo "SELECTED"; ?>>2</option>
                  <option value="3" <?php if($liste[$i][1]==3) echo "SELECTED"; ?>>3</option>
                </select>
              </div></td>
            <td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $rsPanier['prix'] ?></font></div></td>
            <td><div align="center"><a href="?page=panier&suppPanier=SUPPRIMER&article=<?php echo $rsPanier['id_produit'] ?>"><img src="images/poubelle.gif" width="14" height="16" border="0"></a></div></td>
          </tr>
           <?php
 
	$total+=$rsPanier['prix'] * $liste[$i][1];
}
$_SESSION['total']=$total;//mAj du total dans la session
 
?>
 
          <tr> 
            <td ><div align="center"></div></td>
            <td ><div align="center"></div></td>
            <td ><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Total 
                : <?php echo $total ?> Euros</strong></font></div></td>
            <td ><div align="center"></div></td>
          </tr>
        </table></td>
    </tr>
  </table>
  <br>
  <p align="center"> 
    <input type="submit" name="modifPanier" value="ACTUALISER">
	    <input name="enregistreCommande" type="Submit" value="COMMANDER">
  </p>
</form> 
 <?php } else { ?>
      <p align="center"><strong><font size="4" face="Verdana, Arial, Helvetica, sans-serif">Votre panier est vide</font></strong></p>
 
	 <?php }?>	  </td>
  </tr>
</table>
<p align="center"><A HREF="?page=produits" class="liensstitre">Revenir aux produits</A></p>
page commande.php
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
<?php
session_start();
 require_once('Connections/conn.php');  
mysql_select_db($database_conn, $conn);
$query_rslistes = "SELECT * FROM listes";
$rslistes = mysql_query($query_rslistes, $conn) or die(mysql_error());
$row_rslistes = mysql_fetch_assoc($rslistes);
$totalRows_rslistes = mysql_num_rows($rslistes);
 
//------------Initialisation des variables 
if (!isset($_SESSION['action'])) $action="";
else $action=$_SESSION['action'];
if (!isset($_SESSION['liste'])) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
else $liste=$_SESSION['liste'];//recup de la liste de la session
if (!isset($_SESSION['total'])) $total=0;
else $total=$_SESSION['total'];
 
//------------------------------Enregistrement d'une nouvelle commande dans la table commandes
	if ($action=="ENREGISTRER")
	{
	 require_once('Connections/conn.php'); 
		 mysql_select_db($database_conn, $conn);
		//recupération des articles et quantité et enregistrement dans la table listes
	  for ($i=0;$i<count($liste);$i++)
		{
		$reference=$liste[$i][0];//récup de la réf de l'article dans le panier
		$quantite=$liste[$i][1];//récup de la quantité de cet article dans le panier
		$prixArticle=$liste[$i][3];//récup du prix total de ces articles (nb * prix unitaire) dans le panier
		$insertListe = "INSERT INTO listes (total, produitID , quantite, prixarticle) VALUES ('$total', '$reference', '$quantite', '$prixArticle')";
		$Result2 = mysql_query($insertListe, $conn) or die(mysql_error()); 
		}
	//destruction de la liste, du total et du drapeau action de la session 
	unset($_SESSION['liste']);
	unset($_SESSION['total']);
	unset($_SESSION['action']);
 
	}//fin du if ($action="ENREGISTRER")
	?>
<p align="center">commande</p>
<table width="629" height="102" border="1" align="center">
  <tr>
    <td width="126"><div align="center">R&eacute;f&eacute;rence</div></td>
    <td width="106"><div align="center">Quantit&eacute;</div></td>
    <td width="159"><div align="center">Prix</div></td>
  </tr>
  <tr>
    <?php do { ?>
      <td><?php echo $row_rslistes['produitID']; ?></td>
      <td><?php echo $row_rslistes['quantite']; ?></td>
      <td><?php echo $row_rslistes['prixarticle']; ?></td>
  <?php } while ($row_rslistes = mysql_fetch_assoc($rslistes)); ?></tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><div align="right">total &agrave; payer: </div></td>
    <td><?php echo $row_rslistes['total']; ?></td>
  </tr>
</table>
 
 
 
<?php
mysql_free_result($rslistes);
?>