Erreur introuvable...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur introuvable...

Re: Erreur introuvable...

par Spols » 09 déc. 2019, 14:21

Que cherche tu a faire avec ton array_push ??

A priori tu ajoute de plus en plus de donnée dans ton tableau qui devient trop grand par rapport à la mémoire dispo.

Erreur introuvable...

par Fal0rks » 07 déc. 2019, 03:17

Bjr,


N'étant pas un expert en PHP(voir pas du tout), je dois créer un site e-commerce, je vous avoue bcp m'aider de toutes les ressources que je trouve sur internet.

Cependant j'ai une erreur toute moche qui apparait lors d'un "delete" d'un article dans mon panier.

Je pense comprendre l'erreur mais je n'arrive pas à la modifier à la source...

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 41943040 bytes) in /Applications/XAMPP/xamppfiles/htdocs/SiteE-commerce2/includes/fonction_panier.php on line 121
c'est à cet endroit qu'il me dit de me reporter :

Code : Tout sélectionner

array_push($_SESSION['panier']['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]); array_push($_SESSION['panier']['qteProduit'],$_SESSION['panier']['qteProduit'][$i]); array_push($_SESSION['panier']['prixProduit'],$_SESSION['panier']['prixProduit'][$i]);

Code : Tout sélectionner

<?php function creationPanier(){ try { $db = new PDO('mysql:host=localhost;dbname=site2e-commerce', 'root', ''); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(Exception $e){ echo'Une érreur est survenue.'; die(); } if(!isset($_SESSION['panier'])){ $_SESSION['panier']=array(); $_SESSION['panier']['libelleProduit']=array(); $_SESSION['panier']['qteProduit']=array(); $_SESSION['panier']['prixProduit']=array(); $_SESSION['panier']['verrou'] = false; $db = new PDO('mysql:host=localhost;dbname=site2e-commerce', 'root', ''); $select = $db->query("SELECT tva FROM products"); $data = $select->fetch(PDO::FETCH_OBJ); $_SESSION['panier']['tva']=$data->tva; } return true; } function ajouterArticle($libelleProduit,$qteProduit,$prixProduit){ if(creationPanier() && !isVerrouille()){ $positionProduit = array_search($libelleProduit,$_SESSION['panier']['libelleProduit']); if($positionProduit !== false){ $_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit; }else{ array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit); array_push( $_SESSION['panier']['qteProduit'],$qteProduit); array_push( $_SESSION['panier']['prixProduit'],$prixProduit); } }else{ echo'Erreur, veuillez contacter l\'assistance'; } } function modifierQteArticle($libelleProduit,$qteProduit){ // Si le panier existe if(creationPanier() && !isVerrouille()){ //Si la quantité est positive on modifie sinon on supp l'article if($qteProduit>0){ //Recherche du produit dans le panier $positionProduit = array_search($_SESSION['panier']['libelleProduit'], $libelleProduit); if($positionProduit!==false){ $_SESSION['panier']['libelleProduit'][$positionProduit] = $qteProduit; } }else{ supprimerArticle($libelleProduit); } }else{ echo'Erreur, veuillez contacter l\'assistance'; } } function supprimerArticle($libelleProduit){ if(creationPanier() && !isVerrouille()){ $tmp = array(); $tmp['libelleProduit'] = array(); $tmp['qteProduit'] = array(); $tmp['prixProduit'] = array(); $tmp['verrou'] = $_SESSION['panier']['verrou']; $tmp['tva'] = $_SESSION['panier']['tva']; for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++){ if($_SESSION['panier']['libelleProduit'][$i] !== $libelleProduit){ array_push($_SESSION['panier']['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]); array_push($_SESSION['panier']['qteProduit'],$_SESSION['panier']['qteProduit'][$i]); array_push($_SESSION['panier']['prixProduit'],$_SESSION['panier']['prixProduit'][$i]); } } $_SESSION['panier'] = $tmp; unset($tmp); }else{ echo'Erreur, veuillez contacter l\'assistance'; } } function MontantGlobal(){ $total = 0; for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++){ $total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i]; } return $total; } function MontantGlobalTVA(){ $total = 0; for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++){ $total += $_SESSION['panier']['qteProduit'][$i]*$_SESSION['panier']['prixProduit'][$i]; } return $total + $total*$_SESSION['panier']['tva']/100; } function supprimerPanier(){ unset($_SESSION['panier']); } function isVerrouille(){ if(isset($_SESSION['panier']) && $_SESSION['panier']['verrou']){ return true; }else{ return false; } } function compterArticles(){ if(isset($_SESSION['panier'])){ return count($_SESSION['panier']['libelleProduit']); }else{ return 0; } } ?>