Probleme ajout panier dans boutique php
diice
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je suis en phase terminale d'une boutique en php.
Mais juste un p'tit souci qui vient de je ne sais ou.
J'ai bien regardé dans mon code, et j'avoue que je suis perdu, je sais pas du tout d'ou pourrait venir l'erreur.
quand on arrive sur le site, qu'on veut passer un article dans le panier celui ci ne se fait pas, et me ramene l'erreur de la fonction CreationPanier().
Par contre quand j'actualise la page, il se met dans le panier nikel...
et le soucis c'est que cette erreur n'arrive qu'une fois, uniquement lors de l'arrivée pour la premiere fois sur le site...
apres avoir faire la manip de rafraichir une fois, meme si je vide le panier, je peux sans probleme ajouter un nouvel article sans l'erreur et ce tout le long de ma navigation sur le site.
vous pouvez tester sur le site en test ici : http://www.neverdeadcompany.fr
j'ai essayé de mettre session_start(); sur tout le site, mais ca ne change rien...
je vous met le code de ma fonction :
et vous met le code de mon panier :
les variable sont passée en $_POST en prevance de la page detail.php avec le formulaire suivant :
voilà ! si vous pouviez m'aider a trouver une coquille, ou je sais pas ce qui pourrait causer ca, ca fait 3 jours que je suis sur le probleme, et j'ai beau le tourner dans tous les sens, je vois pas ! je suis peut-etre trop dedans !
merci d'avance,
Je suis en phase terminale d'une boutique en php.
Mais juste un p'tit souci qui vient de je ne sais ou.
J'ai bien regardé dans mon code, et j'avoue que je suis perdu, je sais pas du tout d'ou pourrait venir l'erreur.
quand on arrive sur le site, qu'on veut passer un article dans le panier celui ci ne se fait pas, et me ramene l'erreur de la fonction CreationPanier().
Par contre quand j'actualise la page, il se met dans le panier nikel...
et le soucis c'est que cette erreur n'arrive qu'une fois, uniquement lors de l'arrivée pour la premiere fois sur le site...
apres avoir faire la manip de rafraichir une fois, meme si je vide le panier, je peux sans probleme ajouter un nouvel article sans l'erreur et ce tout le long de ma navigation sur le site.
vous pouvez tester sur le site en test ici : http://www.neverdeadcompany.fr
j'ai essayé de mettre session_start(); sur tout le site, mais ca ne change rien...
je vous met le code de ma fonction :
function CreationPanier(){ $ret=false; if (isset($_SESSION['panier'])) { $ret = true; } else { $_SESSION['panier']=array(); $_SESSION['panier']['idsessProduit'] = array(); $_SESSION['panier']['libelleProduit'] = array(); $_SESSION['panier']['tailleProduit'] = array(); $_SESSION['panier']['qteProduit'] = array(); $_SESSION['panier']['prixProduit'] = array(); $_SESSION['panier']['cDe'] = array(); } return $ret; } function ajouterArticle($idsessProduit,$libelleProduit,$tailleProduit,$qteProduit,$prixProduit,$cDe){ if (CreationPanier()) { $positionProduit = array_search($idsessProduit, $_SESSION['panier']['idsessProduit']); if ($positionProduit !== false) { $_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ; } else { array_push( $_SESSION['panier']['idsessProduit'],$idsessProduit); array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit); array_push( $_SESSION['panier']['tailleProduit'],$tailleProduit); array_push( $_SESSION['panier']['qteProduit'],$qteProduit); array_push( $_SESSION['panier']['prixProduit'],$prixProduit); array_push( $_SESSION['panier']['cDe'],$cDe); } } else { echo "<div class='txtorange' style='border:1px solid #74ef00; margin:5px 5px 5px 5px; padding: 5px 5px 5px 5px;'>Un problème est survenu à l'ajout de votre article, <A HREF='#' onclick='document.location.reload();return(false)'><b>rafraichissez la page pour entrer celui ci dans votre panier...</b></a> sinon veuillez contacter l'administrateur du site.</div><br>"; } }
et vous met le code de mon panier :
// SI 'action' EST PASSE EN URL if (isset($_GET['action'])) { $erreur=false; if (in_array($_GET['action'],array('ajout', 'suppression', 'refresh', 'suppsess'))) { $action = $_GET['action']; } else { $erreur=true; } $idl = $_POST['idpro']."-".$_POST['taillepost']; $l = $_POST['idpro']; $t = $_POST['taillepost']; $q = intval($_POST['pnum']); $p = $_POST['px']; $cmd= $_GET['cde']; } // SI 'action' est passé en formulaire elseif(isset($_POST['action'])) { unset($_GET); $erreur=false; if (in_array($_POST['action'],array('ajout', 'suppression', 'refresh', 'suppsess'))) { $action=$_POST['action']; } else { $erreur=true; } $idl = $_POST['idpro']."-".$_POST['taillepost']; $l = $_POST['idpro']; $t = $_POST['taillepost']; $p = $_POST['px']; $cmd= $_GET['cde']; $QteArticle = array(); $i=0; foreach ($_POST['QteArticle'] as $contenu) { $QteArticle[$i++] = intval($contenu); } } if ($erreur==false){ switch($action){ Case "ajout": ajouterArticle($idl,$l,$t,$q,$p,$cmd); break; Case "suppression": supprimerArticle($_GET['idl']); break; Case "refresh" : for ($i = 0 ; $i < count($QteArticle) ; $i++) { modifierQTeArticle($_SESSION['panier']['idsessProduit'][$i],$_SESSION['panier']['libelleProduit'][$i],$_SESSION['panier']['tailleProduit'][$i],round($QteArticle[$i]),$_SESSION['panier']['prixProduit'][$i],$_SESSION['panier']['cDe'][$i]); } if (!empty($idl)) { $_SESSION['panier']['idsessProduit'][$i]=$idl; } break; Case "suppsess": $nbArticles=count($_SESSION['panier']['idsessProduit']); session_unregister("panier"); break; Default: break; } } /// DEBUT GRAPHIQUE DU TABLEAU if (CreationPanier()) { $nbArticles=count($_SESSION['panier']['idsessProduit']); if (empty($nbArticles)) { echo "<tr><td>Votre panier est vide </ td></tr>"; } elseif ($_GET['action']=="suppsess") { echo "<tr><td>Votre panier est vide </ td></tr>"; } else { $bg=0; for ($i=0 ;$i < $nbArticles ; $i++) { $idprod=$_SESSION['panier']['libelleProduit'][$i]; //SUPPRESSION ARTICLE SI MODIFICATION if (!empty($_GET['mod'])) { if ($_SESSION['panier']['cDe'][$i]==$_GET['mod']) { supprimerArticle($_SESSION['panier']['idsessProduit'][$i]); } } $sql = "SELECT * FROM $table_produit where id_pro='".$idprod."'"; $sql = mysql_db_query($base,$sql); $site=mysql_fetch_array($sql); if (empty($site['im_prod'])) { $img="/img/no.gif"; } else { $img="/photos/$site[im_prod]"; } if (!empty($_SESSION['panier']['libelleProduit'][$i])) { /// TABLEAU D'aFFICHAGE DE MES PRODUITS $bg++; } }
les variable sont passée en $_POST en prevance de la page detail.php avec le formulaire suivant :
<form action="<?Php echo $urlsite; ?>/panier.php?action=ajout" method="post" name="checknum" onSubmit="return checkban()"> <select name="pnum" id="pnum" class="form"> <?Php for($z=1; $z<=10; $z++) { echo "<option value='".$z."'>".$z."</option>\r\n"; } ?></select> </td> <td width="30" align="center" valign="middle"><input name="envoyer" type="image" src="/img/ico_pan.png" align="top" title="AJOUTER AU PANIER" alt="AJOUTER AU PANIER" /></td> </tr> <?Php if (!empty($taillearticle)) {?> <input name="taillepost" type="hidden" value="<?Php echo $taillearticle; ?>" /> <?Php } ?> <input name="idpro" type="hidden" value="<?Php echo $idarticle; ?>" /> <input name="px" type="hidden" value="<?Php echo $pxttcfinal; ?>" /> <input name="cde" type="hidden" value="" /> <!-- variable normalement vide, je m'en sers ailleurs en la remplissant, le bug ne vient pas de la ;) --> </form>
voilà ! si vous pouviez m'aider a trouver une coquille, ou je sais pas ce qui pourrait causer ca, ca fait 3 jours que je suis sur le probleme, et j'ai beau le tourner dans tous les sens, je vois pas ! je suis peut-etre trop dedans !
merci d'avance,
A voir également:
- Probleme ajout panier dans boutique php
- Boutique el mordjene avis - Accueil - Arnaque
- Easy php - Télécharger - Divers Web & Internet
- Ajout rapide snap - Forum Snapchat
- La boutique maroquinerie avis - Forum Consommation & Internet
- Boutique-sacs.com - Forum Vos droits sur internet