bonjour,
j'ai créer un site avec avec un panier virtuel ou l'on peut acheter des produits,...
pour l'instant sa marche en étant identifié mais je voudrait savoir comment faire pour qu'un client qui n'est pas inscrit ou connecter puisse quand même faire une simulation d'achat jusqu'au panier.
J'ai plutôt l'impression que tu as installé un script de site de vente en ligne, et non créé de toute pièce... je me trompe ?

Soit le site que tu as installé propose une option permettant ce que tu recherches, soit il te faudra mettre les mains dans le cambouis et ajouter toi même cette fonctionnalité.

Quoi qu'il en soit, sur seule base des infos que tu nous donnes là, on ne peut pas vraiment t'aider...
j'ai créer le site moi même en m'aidant de tuto pour le panier.
J'ai utilisé les sessions et je pensé créer par exemple une session clientNonEnregistrer qui génère un nombre aléatoire comme sa le client pourrai simulé ses achats sans être inscrit sur mon site.
Mais comme je ne sais pas si sa peut marcher où s'il y a des meilleurs solutions, donc je vient demander de l'aide.
Le plus simple c'est d'utiliser une session pour tous les utilisateurs, qu'ils soient identifiés ou non.
Il suffit ensuite de rajouter un paramètre de session indiquant si l'utilisateur est identifié ainsi que ces données d'utilisateurs.

Ainsi tu peux utiliser ton panier sans te soucier de savoir si l'utilisateur est identifié. Reste à contrôler si l'utilisateur est identifié au moment de passer la commande et lui demander de s'enregistrer le cas contraire pour renseigner les informations manquantes.
salut,
peut tu me donner un exemple ?
je ne sais pas comment faire Smiley ohwell

j'ai essayer comme sa :
j'ai déclarer une session vodka_donSkaia par exemple, et ensuite j'ai un page avec mes produits vodka, comment faire pour mettre l'article dans le panier ?

<TD><br/><img src="images/vodka/vodka_Donskaia.png" height="180"/><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $_SESSION['donSkaia'] ?>&amp;q=1&amp;p=<?php echo $data['prix_ttc']; ?>" ><input type="submit" name="formule" value="Ajouter au panier"></TD>

par contre lorsque je change de page, et que je vais voir dans mon panier, mon produit n'est plus là.

éclairé moi s'il vous plait
Modifié par volcomboy62 (15 Feb 2011 - 15:48)
Bonjour,

Ca sent la session réinitialisé à chaque page.

Tu crées une session une fois au moment du premier ajout.

Quand l'utilisateur se rend sur ton site tu vérifies si une session existe, ainsi qu'au moment ou il ajoute un produit. Sinon dans le cas d'un ajout tu crées ta session.

Sans le code de panier.php, ni le mécanisme de session utilisé c'est pas facile de t'aider plus.

J'ai du mal à saisir le $_SESSION Smiley vodkaxyz qui n'a rien à faire la , mettre un variable de session dans lien d'ajout n'a de sens que si c'est une mesure de sécurité (CSRF) utilisant un identifiant de session
Modifié par rs459 (15 Feb 2011 - 16:05)
voila le code de ma page vodka avec les produits :
<?php
@session_start();
header('Content-type: text/html; charset=utf-8');
include('config.php');

include('fonctions.php');
connexionbdd();


$sql = ('select libelle, prix_ttc from produit where prd_id = 10');
$req = mysql_query($sql);
$data = mysql_fetch_array($req); 
mysql_free_result ($req);  

$sql2 = ('select libelle, prix_ttc from produit where prd_id = 11');
$req2 = mysql_query($sql2);
$data2 = mysql_fetch_array($req2); 
mysql_free_result ($req2);  

$sql3 = ('select libelle, prix_ttc from produit where prd_id = 12');
$req3 = mysql_query($sql3);
$data3 = mysql_fetch_array($req3); 
mysql_free_result ($req3);  

$sql4 = ('select libelle, prix_ttc from produit where prd_id = 14');
$req4 = mysql_query($sql4);
$data4 = mysql_fetch_array($req4); 
mysql_free_result ($req4);

$sql5 = ('select libelle, prix_ttc from produit where prd_id = 15');
$req5 = mysql_query($sql5);
$data5 = mysql_fetch_array($req5); 
mysql_free_result ($req5);

$sql6 = ('select libelle, prix_ttc from produit where prd_id = 13');
$req6 = mysql_query($sql6);
$data6 = mysql_fetch_array($req6); 
mysql_free_result ($req6);

$sql7 = ('select libelle, prix_ttc from produit where prd_id = 21');
$req7 = mysql_query($sql7);
$data7 = mysql_fetch_array($req7); 
mysql_free_result ($req7);

$sql8 = ('select libelle, prix_ttc from produit where prd_id = 20');
$req8 = mysql_query($sql8);
$data8 = mysql_fetch_array($req8); 
mysql_free_result ($req8); 

mysql_close ();
$_SESSION['donSkaia'] ='don skaia';
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>J&eacute;r&eacute;m&#39;ap&eacute;ro</title>			
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<meta http-equiv="content-language" content="fr" />
<link href="style.css"	title="Défaut" rel="stylesheet" type="text/css" media="screen" />	 
<style type="text/css">
.auto-style1 {
	width: 584px;
	background: url(images/contenu_fond.png);
	padding : 0 25px 0 15px;
	margin : 0;
	color: #fff;
	text-align: center;
}
.auto-style2 {
	text-align: center;
}
</style>
</head>
<body> 

<div id="conteneur"><!-- Global -->
<div id="header"><!-- Header -->

	<div id="mh"><!-- Menu horizontal -->
<table summary="" cellpadding="0" cellspacing="0"> 
<tr><td> 
          <ul id="menu"> 
              <li><a href="index.php">Accueil</a></li>
              <li><a href="nosBoissons.php">Nos boissons</a>
       		  <li><a href="formules.php">Formules</a>
		      <li><a href="recette.php">Cocktail</a></li>
              <li><a href="nosAmis.php">Nos amis</a></li>
              <li><a href="concept.php">Concept</a></li>
              <li><a href="mention_legale.php">Mention l&eacute;gale</a></li>   
          </ul> 
</td></tr> 
</table>
</div><!-- Fin Menu horizontal --> 
</div><!-- Fin Header -->	


<div id="left"> <!-- Colonne Gauche -->		 
<div class="menu_bleu_haut">Avec alcool</div><div class="menu_bleu_fond"><!-- Menu -->
         <ul class="gb"> 
			  <li><a href="vodka.php">Vodka</a>
      	       <li><a href="whisky.php">Whisky</a></li>
               <li><a href="rhums.php">Rhums</a></li>	
               <li><a href="gins.php">Gins</a></li>						
		       <li><a href="tequillas.php">Tequilas</a></li>
		       <li><a href="aperitifs.php">Ap&eacute;ritifs</a></li>
		       <li><a href="anisees.php">Anis&eacute;es</a></li>
		       <li><a href="liqueurs.php">Liqueurs</a></li>
		       <li><a href="digestifs.php">Digestifs</a></li>
		       <li><a href="bieresEnCanette.php">Bi&egrave;res&nbsp;en canette</a></li>
		       <li><a href="bieresEnPack.php">Bi&egrave;res&nbsp;en pack</a></li>
               <li><a href="cidres.php">Cidres</a></li>
               <li><a href="mousseux.php">Mousseux</a></li>
               <li><a href="champagnes.php">Champagnes</a></li>
         </ul>
</div><div class="menu_bleu_bas"></div><!-- Fin Menu --> 

<div class="menu_jaune_haut">Sans alcool</div><div class="menu_jaune_fond"><!-- Menu -->
         <ul class="gj"> 
			<li><a href="eaux.php">Eaux</a></li>
            <li><a href="sodas.php">Sodas</a></li>
            <li><a href="jusDeFruits.php">Jus de fruits</a></li>
            <li><a href="jusDeFruitsNectar.php">Jus de fruits nectar</a></li>
            <li><a href="biereSansAlcool.php">Bi&egrave;re sans alcool</a></li>
            <li><a href="boissonsEnergisante.php">Boissons &eacute;nergisantes</a></li>
            <li><a href="sirop.php">Sirop</a></li>
         </ul>
</div><div class="menu_jaune_bas"></div><!-- Fin Menu -->

<div class="menu_orange_haut">Mon panier</div><div class="menu_orange_fond"><!-- Menu -->
<li><a href="panier.php">Voir mon panier</a></li> 
<br/><br/><br/><br/><br/><br/>
</div><div class="menu_jaune_bas"></div><!-- Fin Menu -->


</div><!-- Fin Colonne Gauche -->	

<div id="right"><!-- Colonne Droite -->	  

<div class="contenu_haut"></div><div class="auto-style1">
	<div class="auto-style2">
		<!-- Cadre -->
<span>Nos vodkas</span><br /> 
<br /><br />

	</div>
 <span>70cl</span>
<br/><br/><br/>

<TABLE frame="void" rules="cols" bordercolor="#666666" cellpadding="5" action="panier.php">
  <TR>
   <TD><?php echo $data['libelle']; ?></TD>
   <TD><?php echo $data2['libelle']; ?></TD>
   <TD><?php echo $data3['libelle']; ?></TD>
  </TR>
  <TR>
   <TD><br/><img src="images/vodka/vodka_Donskaia.png"  height="180"/><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $_SESSION['donSkaia'] ?>&amp;q=1&amp;p=<?php echo $data['prix_ttc']; ?>" ><input type="submit" name="formule" value="Ajouter au panier"></TD>
</TD>
   <TD><img src="images/vodka/vodka_Dworakoff.png" width="160" height="190"/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $data2['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data2['libelle']; ?>&amp;q=1&amp;p=<?php echo $data2['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
   <TD><img src="images/vodka/sobieski.png" height="190" /><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data3['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data3['libelle']; ?>&amp;q=1&amp;p=<?php echo $data3['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
  </TR>
 </TABLE>

<br /><br />	   
	
<TABLE frame="void" rules="cols" bordercolor="#666666" cellpadding="5">
  <TR>
   <TD><?php echo $data4['libelle']; ?></TD>
   <TD><?php echo $data5['libelle']; ?></TD>
   <TD><?php echo $data6['libelle']; ?></TD>
  </TR>
  <TR>
   <TD><br/><img src="images/vodka/vodka_poliakov.png" height="180"/><br/><br/>&nbsp;&nbsp;<?php echo $data4['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data4['libelle']; ?>&amp;q=1&amp;p=<?php echo $data4['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
   <TD><br/><img src="images/vodka/vodka_smirnoff.png" height="180" /><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data5['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data5['libelle']; ?>&amp;q=1&amp;p=<?php echo $data5['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
    <TD><br/><img src="images/vodka/eristoff.png"  height="180"  /><br/><br/>&nbsp;&nbsp;<?php echo $data6['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data6['libelle']; ?>&amp;q=1&amp;p=<?php echo $data6['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
  </TR>
 </TABLE>
 
 <br/><br/><br/>
  <span>1L</span>
<br/><br/><br/><br/>

 <TABLE frame="void" rules="cols" bordercolor="#666666" cellpadding="5">
  <TR>
   <TD><?php echo $data7['libelle']; ?></TD>
   <TD><?php echo $data8['libelle']; ?></TD>
  </TR>
  <TR>
    <TD><br/><img src="images/vodka/vodka_orloff.png"  height="180"  /><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data7['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data7['libelle']; ?>&amp;q=1&amp;p=<?php echo $data7['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
   <TD><br/><img src="images/vodka/eristoff 1l.png"  height="180"  /><br/><br/>&nbsp;&nbsp;&nbsp;<?php echo $data8['prix_ttc']; ?>&euro;<br/><br/><a href="panier.php?action=ajout&amp;l=<?php echo $data8['libelle']; ?>&amp;q=1&amp;p=<?php echo $data8['prix_ttc']; ?>" onclick="window.open(this.href, '', 
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></TD>
  </TR>

 </TABLE>

 

<br/><br/>
<br/><br/>
<p>L'abus d'alcool est dangereux pour la sant&eacute;, &agrave; consommer avec mod&eacute;ration<br/>
Aucune boisson alcoolis&eacute;e ne peut &ecirc;tre vendue ou offerte aux mineurs de moins de 18 ans (art.L3348-1 code sant&eacute; publique) </p>
	
<br /><br />	
<div style="text-align: center"><a href="http://www.kitgraphiquegratuit.org" onclick="window.open(this.href); return false;"><img src="http://www.kitgraphiquegratuit.org/images/banniere2.jpg" alt="kits graphiques gratuits" /></a></div>
</div><div class="contenu_bas"></div><!-- Fin Cadre -->
</div><!-- Fin Colonne Droite -->										  
	
<div id="pied"><!-- Pied -->
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->
<div class="copyright">©<a href=""> Votresite.com</a> 2009 | Design <a href="http://www.kitgraphiquegratuit.org" onclick="window.open(this.href); return false;" title="kits gratuits" > Kitgraphiquegratuit.org</a></div>
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->	
</div><!-- Fin pied -->
</div><!-- Fin Global -->
</body>
</html>


et le code de ma page panier :
<?php
@session_start();
include_once("fonctions-panier.php");

$erreur = false;

$action = (isset($_POST['action'])? $_POST['action']:  (isset($_GET['action'])? $_GET['action']:null )) ;
if($action !== null)
{
   if(!in_array($action,array('ajout', 'suppression', 'refresh')))
   $erreur=true;

   //récuperation des variables en POST ou GET
   $l = (isset($_POST['l'])? $_POST['l']:  (isset($_GET['l'])? $_GET['l']:null )) ;
   $p = (isset($_POST['p'])? $_POST['p']:  (isset($_GET['p'])? $_GET['p']:null )) ;
   $q = (isset($_POST['q'])? $_POST['q']:  (isset($_GET['q'])? $_GET['q']:null )) ;

   //Suppression des espaces verticaux
   $l = preg_replace('#\v#', '',$l);
   //On verifie que $p soit un float
   $p = floatval($p);

   //On traite $q qui peut etre un entier simple ou un tableau d'entier
    
   if (is_array($q)){
      $QteArticle = array();
      $i=0;
      foreach ($q as $contenu){
         $QteArticle[$i++] = intval($contenu);
      }
   }
   else
   $q = intval($q);
    
}

if (!$erreur){
   switch($action){
      Case "ajout":
         ajouterArticle($l,$q,$p);
         break;

      Case "suppression":
         supprimerArticle($l);
         break;

      Case "refresh" :
         for ($i = 0 ; $i < count($QteArticle) ; $i++)
         {
            modifierQTeArticle($_SESSION['panier']['libelleProduit'][$i],round($QteArticle[$i]));
         }
         break;

      Default:
         break;
   }
}

echo '<?xml version="1.0" encoding="utf-8"?>';?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Votre panier</title>
<link href="style.css"	title="Défaut" rel="stylesheet" type="text/css" media="screen">	
</head>
<body>
<br/>
<span>Votre panier</span>
<form method="post" action="panier.php">
<table style="width: 400px">
	<tr><br/><br/>
		<td>Libell&eacute;</td>
		<td>Quantit&eacute;</td>
		<td>Prix Unitaire</td>
		<td>Action</td>
	</tr>


	<?php
	if (creationPanier())
	{
	   $nbArticles=count($_SESSION['panier']['libelleProduit']);
	   if ($nbArticles <= 0)
	   echo "<tr><td>Votre panier est vide </ td></tr>";
	   else
	   {
	      for ($i=0 ;$i < $nbArticles ; $i++)
	      {
	         echo "<tr>";
	         echo "<td>".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."</ td>";
	         echo "<td><input type=\"text\" size=\"4\" name=\"q[]\" value=\"".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."\"/></td>";
	         echo "<td>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."</td>";
	         echo "<td><a href=\"".htmlspecialchars("panier.php?action=suppression&l=".rawurlencode($_SESSION['panier']['libelleProduit'][$i]))."\">Supprimer</a></td>";
	         echo "</tr>";
	      }

	      echo "<tr><td colspan=\"2\"> </td>";
	      echo "<td colspan=\"2\">";?><br/><br/><div id="prixTotal">
	      <?php
	      echo "Total : ".MontantGlobal();?></div>
	      <?php
	      echo "</td></tr>";

	      echo "<tr><td colspan=\"4\">";?><br/>
	      <div id="refresh">
	      <?php
	      echo "<input type=\"submit\" value=\"Rafraichir\"/>";
	      echo "<input type=\"hidden\" name=\"action\" value=\"refresh\"/>";
          ?><br/><br/>
          <a href="javascript:history.back()">Retour</a>
          </div>
          <?php
	      echo "</td></tr>";
	   }
	}
	?>
</table>
<br/><br/>
<p>Pour passer commande veuillez appelez le 06 48 75 98 91</p><br/><br/>
<a href="javascript:window.print()">Imprimer votre commande</a>
</form>
</body>
</html>


c'est un peu long j'avoue, mais sa maintenant 1 mois et demi que je travail sur ce site ^^