1 pièce(s) jointe(s)
Problème avec la récupération d'une variable dans un lien pour un panier
bonjour je suis débutant sur php 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 modification 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&l=la sante par les produits de la nature&q=1&p=4" ></a>
et lien qui mène au panier
Code:
1 2
| <a href="panier.php?action=ajout&l=LIBELLEPRODUIT&q=QUANTITEPRODUIT&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 17 18
| <script type="text/javascript">
var t=1;
function InitUser(p_utilisateur)
{
t =p_utilisateur;
}
function PageMail()
{
self.location.href="sante-nature1.php?action=ajout&l=la sante par les produits de la nature&q="+t+"&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é dans le lien URL) 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 !!!!