coment passer données via Url ?
Hello iM@n pourrais jeter un oeil sur ce bout de code.... car impossible d'afficher le contenu panier
- if(!isset($_GET['action'])) $action=""; else $action=$_GET['action'];
- if (!isset($_SESSION['total'])) $_SESSION['total']=0;
- if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];
- ?>
- <?php require_once('../connCat.php'); ?>
- <?php
- mysql_select_db($database_connCat, $connCat);
- //AJOUT PANIER
- if ($action=="Ajouter")
- {
- /*on récupère la variable issue de $_GET et on l'initialise*/
- if (isset($_GET['reference'])) $reference = $_GET['reference']; else $reference = "";
- $nb=1; //par défaut la quantité est = 1
- /*on récupère la variable issue de $_GET et on l'initialise*/
- if (isset($_GET['prix'])) $prix = $_GET['prix']; else $prix = "";
- $liste[]=array($reference,$nb,$prix,$prix);
- $_SESSION['liste']=$liste;
- }
- //MODIF
- if ($action=="Actualiser")
- {
- for ($i=0;$i<count($liste);$i++)
- {
- $nbi='nb'.$i; /*là je pige pas à quoi sert / d'où sort le $_GET["$nbi"];*/
- $liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
- $liste[$i][3]=$liste[$i][1]*$liste[$i][2];
- }
- $_SESSION['liste']=$liste;
- }
- //SUPRIMER PANIER
- if ($action=="Supprimer")
- {
- /*on récupère la variable issue de $_GET et on l'initialise*/
- if (isset($_GET['article'])) $article = $_GET['article']; else $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 ($action=="Commander")
- {
- /*on récupère la variable issue de $_GET et on l'initialise*/
- if (isset($_GET['action'])) $action = $_GET['action']; else $action = "";
- $_SESSION['action']="ENREGISTRER";//mémorisation action
- header("Location: commande.php");
- }
- ?>
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
le 21/05/2006 à 21:13
i M@N
Reuh ...
Je veux bien t'aider mais faut en dire un peu plus ... Pourquoi ça affiche pas ? c'est quand $action == "Actualiser" que s'est censé afficher quelque chose ??
Sinon j'ai toujours pas compris ça :
- <?php
- $nbi='nb'.$i; /*là je pige pas à quoi sert / d'où sort le $_GET["$nbi"];*/
- $liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
- ?>
Pourquoi $liste[$i][1]=$_GET["$nbi"] si $nbi='nb'.$i; ... c'est pas logique : soit $nbi vient de $_GET soit tu le définis en cours de script mais pas les deux.

En plus, où est-ce que tu initialises ta variable $nbi issue de $_GET ???
Donc donne un peu plus d'explications stp, on a pas tout ton code sous les yeux et on connait pas le reste de ton panier.
@+...
One Love, One Heart, One Unity.
J'ai essayé de redécouper tout en morceau et je vois que au niveau du ajouter ca coince déjà :
- <?php
- if(!isset($_GET['modifPanier'])) $modifPanier="";
- else $modifPanier=$_GET['modifPanier'];
- if(!isset($_GET['enregistreCommande'])) $enregistreCommande="";
- else $enregistreCommande=$_GET['enregistreCommande'];
- //AJOUT PANIER
- if ($ajoutPanier=="AJOUTER")
- {
- $reference=$_GET['reference'];
- $nb=1;
- $prix=$_GET['prix'];
- $liste[]=array($reference,$nb,$prix,$prix);
- $_SESSION['liste']=$liste;
- }
Si je reprend mon ancien code ca s'affiche:
- <?php
- session_start();
- if (!isset($_SESSION['total'])) $_SESSION['total']=0;
- if(!isset($_GET['ajoutPanier'])) $ajoutPanier="";
- else $ajoutPanier=$_GET['ajoutPanier'];
- if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];
- ?>
- <?php require_once('../connCat.php'); ?>
- <?php
- mysql_select_db($database_connCat, $connCat);
- //AJOUT PANIER
- if ($ajoutPanier=="AJOUTER")
- {
- $reference=$_GET['reference'];
- $nb=1;
- $prix=$_GET['prix'];
- $liste[]=array($reference,$nb,$prix,$prix);
- $_SESSION['liste']=$liste;
- }
l'article s'affiche ... ?
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Code 1 : j'ai fait une erreur de copie, c'est ceci qui est repris
- <?php
- session_start();
- //init des variables
- if(!isset($_GET['action'])) $action=""; else $action=$_GET['action'];
- if (!isset($_SESSION['total'])) $_SESSION['total']=0;
- if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];
- //AJOUT PANIER
- ...
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
le 21/05/2006 à 22:53
i M@N
Reuh ...
Bon on continue demain, mais d'ici là réponds aux questions que je t'ai posé stp :
Je veux bien t'aider mais faut en dire un peu plus ... Pourquoi ça affiche pas ? c'est quand $action == "Actualiser" que s'est censé afficher quelque chose ??
Sinon j'ai toujours pas compris ça :
- <?php
- $nbi='nb'.$i; /*là je pige pas à quoi sert / d'où sort le $_GET["$nbi"];*/
- $liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
- ?>
Pourquoi $liste[$i][1]=$_GET["$nbi"] si $nbi='nb'.$i; ... c'est pas logique : soit $nbi vient de $_GET soit tu le définis en cours de script mais pas les deux.

En plus, où est-ce que tu initialises ta variable $nbi issue de $_GET ???
Donc donne un peu plus d'explications stp, on a pas tout ton code sous les yeux et on connait pas le reste de ton panier.
Bonne nuit, @ demain ...
One Love, One Heart, One Unity.
Si j'ai correctement écris et bien compris, a chaque boucle $nbi prend la valeur de la concatenation du prefixe nb et de l’indice $i
la concatenation se realise avec $nbi=nb.$i permet la récup des articles selectionés dans le menu deroulant et l’affecte a la variable de la liste adhoc
les memorisations possible sont
[y]=0 : référence
[y]=1 : une quantité
[y]=2 : prix unit
[y]=3 : prix total
[x]= identifiant de chaque article
$_GET["$nbi"];//recup du nbr d'article dans la liste
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
le 22/05/2006 à 18:47
i M@N
Hello !
Bon je veux bien t'aider mais stp fais un effort et LiS ce que je dis, y compris dans les commentaires de ton code.
Ton code :
- <?php
- //MODIF
- if ($action=="Actualiser")
- {
- for ($i=0;$i<count($liste);$i++)
- {
- $nbi='nb'.$i; /*là je pige pas à quoi sert / d'où sort le $_GET["$nbi"];*/
- $liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
- $liste[$i][3]=$liste[$i][1]*$liste[$i][2];
- }
- $_SESSION['liste']=$liste;
- }
- ?>
Ce que tu comprends :
Si j'ai correctement écris et bien compris, a chaque boucle $nbi prend la valeur de la concatenation du prefixe nb et de l’indice $i
la concatenation se realise avec $nbi=nb.$i permet la récup des articles selectionés dans le menu deroulant et l’affecte a la variable de la liste adhoc
...
$_GET["$nbi"];/*recup du nbr d'article dans la liste*/
FAUX : ça récupère kedal, t'as pas initialisé ta variable $nbi issue de $_GET, elle vaut "". Même pas "0", elle vaut rien, elle est vide.
Donc :
- soit tu l'initialises avant de t'en servir (je crois pas que ça soit ce que tu veuilles faire) :
- <?php
- /*on récupère la variable issue de $_GET et on l'initialise*/
- if (isset($_GET['nbi'])) $nbi = $_GET['nbi']; else $nbi = "";/*recup du nbr d'article dans la liste*/
- ?>
- soit tu lui donnes une valeur au cours de ton script (je pense que c'est ce que tu as besoin) :
- <?php
- $nbi='nb'.$i;
- $liste[$i][1]=$nbi;/*recup du nbr d'article dans la liste*/
- ?>
Mais tu fais pas les deux, sinon ça serait comme faire $variable = "1"; $variable ="2";.
@+...
One Love, One Heart, One Unity.
Bon j'ai replongé dans ma petit affaire de panier et ben vous allez pas le croire Ca Marche Pas ?
Que j'essaye avec la formule de @IMAn
- session_start();
- if(!isset($_GET['action'])) $action=""; else $action=$_GET['action'];
- if (!isset($_SESSION['total'])) $_SESSION['total']=0;
- <?php
- //-AJOUT PANIER fonctionne pas?
- if ($action=="Ajouter")
- {
- if (isset($_GET['reference'])) $reference = $_GET['reference']; else $reference = "";
- $nb=1; //par défaut la quantité est = 1
- if (isset($_GET['prix'])) $prix = $_GET['prix']; else $prix = "";
- $liste[]=array($reference,$nb,$prix,$prix);
- $_SESSION['liste']=$liste;
- }
- //-MODIF PANIER incrementation impossible
- if ($action=="Actualiser")
- {
- for ($i=0;$i<count($liste);$i++)
- {
- $nbi='nb'.$i;
- $liste[$i][1]=$nbi;//recup du nbr d'article dans la liste
-
- $liste[$i][3]=$liste[$i][1]*$liste[$i][2];
- }
- $_SESSION['liste']=$liste;
- }
ou avec mon ancienne tecnique
- session_start();
- 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['nbi'])) $nbi = $_GET['nbi'];
- else $nbi = "";
- ...
- <?php
- //-AJOUT PANIER ici FONCTIONNE
- 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 incrementation ne fonctionne Pas?
- if ($modifPanier=="ACTUALISER")
- {
- for ($i=0;$i<count($liste);$i++)
- {
- $nbi='nb'.$i;
- $liste[$i][1]=$_GET['$nbi'];
- $liste[$i][3]=$liste[$i][1]*$liste[$i][2];//prixArticle=nbre*prixUnitaire
- }
- $_SESSION['liste']=$liste;//mAj de la liste
- }
Nada, rien, nothing ... imposssible d'incrémenter ce Panier
Si vous avez une autre idée elle est la bienvenue. :)
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
le 25/05/2006 à 18:57
Bzh
Mais pourquoi ne pas utiliser l'écriture:
- <?php
- $_SESSION['liste'][] = $liste;
- ?>
le renvoi est :
Notice: Undefined offset: 1 in...line100
Fatal error: Unsupported operand types in
Ca c'est la ligne 100 :
$total+=$row_rsPanier['prix'] * $liste[$i][1];
Aapparemment 1 pas accepté???
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-