panier virtuel de developpez.com
bonjour,
voila j ai utiliser le tutoriel de developper pour le panier http://jcrozier.developpez.com/articles/web/panier/
mais comme mes libellé viennent d'une base sql il sosnt souvent identique
Donc voila j ai voulut ajouter l'id du produit pour l ajout ainsi il ajoute dans le panier sans penser que c est le meme produit.Mais voila il ne met un message d'erreur lors que je veut voir mon panier:
Code:
1 2 3
| Warning: array_search() [function.array-search]: Wrong datatype for second argument in C:\wamp\www\lileauxboutschou\pages\fonctions-panier.php on line 27
Warning: array_push() [function.array-push]: First argument should be an array in C:\wamp\www\lileauxboutschou\pages\fonctions-panier.php on line 35 |
et le panier reste vide voici donc ce quej ai modifier:
Code:
1 2 3
| $body.='<a href="panier.php?action=ajout&id='.$pro['produit_id'].'&l='.$sous_categorie['categorie_titre'].'&q=1&p='.$pro['produit_prix'].'" 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;"><img src="../images/caddie.gif">Ajouter au panier</a>'; |
et ensuite la page des fonctions:
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| <?php
function creationpanier(){
$ret=false;
if (isset( $_SESSION['panier']))
$ret = true;
else
{
$_SESSION['panier']=array();
$_SESSION['panier']['idProduit'] = array();
$_SESSION['panier']['libelleProduit'] = array();
$_SESSION['panier']['qteProduit'] = array();
$_SESSION['panier']['prixProduit'] = array();
$ret=true;
}
return $ret;
}
function ajouterArticle($idProduit,$libelleProduit,$qteProduit,$prixProduit){
if (creationpanier())
{
$positionProduit = array_search($idProduit,$_SESSION['panier']['idProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
}
else
{
array_push( $_SESSION['panier']['idProduit'],$idProduit);
array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit);
array_push( $_SESSION['panier']['qteProduit'],$qteProduit);
array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
}
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function supprimerArticle($libelleProduit){
if (creationpanier())
{
$tmp=array();
$tmp['libelleProduit'] = array();
$tmp['qteProduit'] = array();
$tmp['prixProduit'] = array();
for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++)
{
if ($_SESSION['panier']['libelleProduit'][$i] !== $libelleProduit)
{
array_push( $tmp['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]);
array_push( $tmp['qteProduit'],$_SESSION['panier']['qteProduit'][$i]);
array_push( $tmp['prixProduit'],$_SESSION['panier']['prixProduit'][$i]);
}
}
$_SESSION['panier'] = $tmp;
unset($tmp);
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function modifierQTeArticle($libelleProduit,$qteProduit){
if (creationpanier())
{
if ($qteProduit > 0)
{
$positionProduit = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']);
if ($positionProduit !== false)
{
$_SESSION['panier']['qteProduit'][$positionProduit] = $qteProduit ;
}
}
else
supprimerArticle($libelleProduit);
}
else
echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function MontantGlobal(){
$total=0;
for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++)
{
$total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i];
}
return $total;
}
?> |
donc comme vous voyez j ai rajouter l'idProduit.
et en fessant avec print_r($_session) dans fonctions-panier.php;
aucune session ne s affiche
Pouvez vous m aider?
MERCI