Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 26/06/2011, 16h29   #1
Candidat au titre de Membre du Club
 
Étudiant
Inscription : mars 2009
Messages : 102
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 102
Points : 14
Points : 14
Par défaut Problème avec le paramètrage d'une variable dans un lien pour un panier

bonjour je suis débutant sur php donc j'ai du travailler sur un script de panier proposé par developpez.com http://jcrozier.developpez.com/articles/web/panier/
et j'ai réussi à l’insérer avec des petites modifications dans mon script comme suivant exemple page sante-nature.php:
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
<?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;
}
}
?>
lien pour ajouter un produit donné à mon panier avec l nom du produit q sa quantité et et p son prix(toujours suivant le script proposé par le site)
Code :
<a href="sante-nature.php?action=ajout&amp;l=la sante par les produits de la nature&amp;q=1&amp;p=4" ></a>
et lien qui mène au panier
Code :
1
2
<a href="panier.php?action=ajout&amp;l=LIBELLEPRODUIT&amp;q=QUANTITEPRODUIT&amp;p=PRIXPRODUIT" 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;">	</a>
maintenant je vais vous décrire mon problème, je dois récupérer la quantité à partir d'une liste déroulante pour paramétrer mon lien c'est ce que j'ai fais dans une autre page à fin de tester (sante-nature1.php) vue que la récupération se fait au niveau client avant qu'elle soit envoyé au serveur j'ai du utiliser une fonction javascript
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function InitUser(p_utilisateur)
{
    t =p_utilisateur;
}
function PageMail() 
{
    self.location.href="sante-nature1.php?action=ajout&amp;l=la sante par les produits de la nature&amp;q="+t+"&amp;p=4";
}
</script> <SELECT name="qtelivre1" onchange="InitUser(this.value);" size="1">
  <OPTION selected="selected" value="1">1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
<OPTION value="5">5</OPTION>
</SELECT>
                    <a style="CURSOR:pointer" href='#' onClick='PageMail()'; ><img src="motif panier/motif-panier.png" width="44" height="30" alt="panier" /></a>
et effectivement je parviens à récupérer la quantité du produit ajoutée depuis la liste déroulante dans l'adresse Url (elle est bien affichée en paramétrage dans le lien URL tel que je veux) mais je parviens pas à ajouter la commande dans le panier (voire photo) alors que dans le premier cas comme je vous ai expliqué j'ai aucun problème
merci pour votre aide je plante grave sur ça !!!!
Images attachées
Type de fichier : jpg panier.jpg (76,6 Ko, 3 affichages)
roy-mustang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 13h07   #2
Membre confirmé
 
Avatar de zulad
 
Inscription : juin 2007
Messages : 500
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 500
Points : 289
Points : 289
Tu devrais coder en mvc, tu aurais moins de problème pour passer des valeurs et au final tu auras moins de segments de code inutiles.

De plus, si tu passe ta valeurs de liste par le client, tu dois prévoir un mapping correct avec ta DB par un objet html qui stocke les données du customer sur ta page, ce que je n'ai pas vu dans ton code.
__________________
Il y a trois grandes catégories d'individus : Les S:sensibles / Les P:penseurs / Les A:agités (Tous sont des animaux)
zulad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h56.


 
 
 
 
Partenaires

Hébergement Web