Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2006, 10h57   #1
Membre du Club
 
Inscription : août 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 340
Points : 62
Points : 62
Par défaut session problème quantité panier

Bonjour à tous,

J'ai mis au point un système de panier, pour vendre de la viande. Le problème c'est que concernant les quantités, il y a 1 liste déroulante pour la quantité de viande de porc et une autre liste déroulante ou il y a la quantité pour le boeuf.

Au début je n'avais la même liste déroulante avec les mêmes quantités donc mon système de panier marchait parfaitement.

Le problème que lorque je clique sur ajouter dans le panier il ne reprend pas la quantité.

Voila le code ou l'on voit les produits

Code :
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
?>
 
<table border="0" align="center" bordercolordark="#000000" bordercolor="#000000">
  <tr> 
    <td></td>
    <td width="150" align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Nom</font></strong></td>
    <td width="150" align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Prix</font></strong></td>
    <td width="150" align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Quantite</font></strong></td>
    <td align="center"><a href="panier.php"><img src="image/panier.jpg" border="0"></a></td>
  </tr>
  <?php
		//c'est la varaible $value qui va contenir chaque informations
		while ($value = mysql_fetch_array ($result))
		{
			//permet de faire l'affichage
echo ("<tr><td><div align = center><font color=#000000 size=2 face=Verdana>");
	?>
<img src="image/<?php echo $value ["PRODUITS_CHE_IMAGE"];?>" width="150" height="100" border="0"> </a>
  <?php	
 
echo ("</td></div></font><td align=center><div><font color=#000000 size=2 face=Verdana>");
echo $value ["PRODUITS"];
echo ("</td></div></font><td align=center><div><font color=#000000 size=2 face=Verdana>");
echo $value ["PRODUITS_PRIX"];
echo ("</td></div></font><td align=center><div><font color=#000000 size=2 face=Verdana>");
 
$p = $value['PRODUITS'];
switch($p) {
			default:
			case "Porc":
			$partage=2;
			break;
			case "Boeuf":
			$partage=8;
			break;
			}
		echo "<select>";
	for($i=1;$i<=$partage;$i++) 
		{
			$val_denominateur=0/$partage;
			if($i!=$partage) 
			{
			echo "<option value=\"".$val_denominateur."\">".$i."/".$partage."</option>";
					} 
		else
					{
		echo "<option value=\"1\">1</option>";
					}
				}
	echo "</select>";
 
?>
 
 
 
 
			<?php 
 
 
	echo ("</td> <td>");
					?>
<form method = post action=ajouterpanier.php?ajouter=AJOUTERPRODUITS&produits_id=<?php echo $value ["NO"]; ?>&produits_prix=<?php echo $value ["PRODUITS_PRIX"];?>>
<input type=submit name=Acheter value=Acheter>
 
		</form>	
 
		<?php	
 
			echo ("</tr></div></font></td>");	
 
	}
 
	?>
Voici le code

ou j'ajoute dans mon panier

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php session_start(); ?>
<html>
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<?php
if (isset($_GET['ajouter'])&&($_GET['ajouter']=="AJOUTERPRODUITS")&&isset($_GET['produits_id'])&&isset($_POST['quantite'])&&isset($_GET['produits_prix']))
  {
  $_SESSION['acheter'][] = array 
  (
    "id" => $_GET['produits_id'], 
    "quantite" => $_POST['quantite'],
	"prix" => $_GET['produits_prix'],
   ); 
  }
 
  //print_r($_SESSION['acheter']);
Le problème c'est qu'il ne fait pas la différence entre les deux quantités lorsqu'il ajouter dans panier....

J'espère avoir été clair..

D'avance merci si quelqu'un peut m'aider, parce que je suis vraiment perdue
kitty2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 10h59   #2
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Salut,

Code :
echo '<select name="quantite">';
non ?
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 11h08   #3
Membre du Club
 
Inscription : août 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 340
Points : 62
Points : 62
j'ai pas bien compris ce que tu viens de marqué?
kitty2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 11h10   #4
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Dans ton code d'origine, tu n'as pas donné de nom à ton select.

Si tu veux le récupérer de l'autre coté, il faut qu'il ait un nom, comme je l'ai mit dans la ligne de code que j'ai précisé.

Sinon, $_POST['quantite'] ne correspondra à rien.

A+
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 11h46   #5
Membre du Club
 
Inscription : août 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 340
Points : 62
Points : 62
Merci pour la quantite je n'avais pas vu que je l'avais oublié. Par contre maintenant ca ne me reprend pas la quantité ni le produit à ajouter dans le panier...Savez-vous comment faire?
kitty2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 12h10   #6
Membre habitué
 
Inscription : mai 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 208
Points : 104
Points : 104
Envoyer un message via AIM à Romalafrite Envoyer un message via MSN à Romalafrite
Citation:
Envoyé par kitty2006
Merci pour la quantite je n'avais pas vu que je l'avais oublié. Par contre maintenant ca ne me reprend pas la quantité ni le produit à ajouter dans le panier...Savez-vous comment faire?

Un conseil pour voir les variables récupérées, tu fais un print_r($_POST); en haut de ta page.

Si tu as bien défini les "name" et que tu soumets, les variables arrivent forcément si tu as bien défini le method="post" dans la balise <form>.

Après, tout est question de ce que tu en fais

Oublie pas le "résolu" quand t'as trouvé la solution à tes problemes
Romalafrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 14h57   #7
Membre du Club
 
Inscription : août 2006
Messages : 340
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 340
Points : 62
Points : 62
Re bonjour à tous....

alors en fait je viens de me rendre compte après avoir effectué plusieurs tests que ca reprend la valeur de ma liste déroulante lorsqu'elle est à 1 aussi bien pour celle du porc que du boeuf et de ce fait ca l'enregistre dans mon panier...Ce qui signifie que la récupération de mes variables fonctionnenent plus ou moins.

Par contre, lorsque je choisis un demi porc et que clique sur acheter, il ne l'ajouter pas dans le panier....est ce que cela est du à la manière donc j'ai fait ma liste déroulante?

Si quelqu'un trouve la solution ca serait chouette

est-ce qu'il faut que je fasse mes liste déroulantes statiques c'est à dire en html?



Merci...
kitty2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 19h24   #8
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 23
Points : 14
Points : 14
C'est pas pour les select qu'il faut donner des noms du genre 'maListe[]' ???

ps: avec des div dans des tr td et sans doctype tu vas faire fuire les amateurs de css

Après mangé je regarde ce code.

Pour commencer tu devrais enlever tout ce qui est inutile...

Fais un form le plus basique possible et commence à faire tes tests car la c'est assé fouilli quand même. Ca ne peut qu'amoindrir les erreurs et facilité le debugage.
delightfulln est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h28.


 
 
 
 
Partenaires

Hébergement Web