Problème avec array_push
Résolu
Rune188
Messages postés
81
Statut
Membre
-
Rune188 Messages postés 81 Statut Membre -
Rune188 Messages postés 81 Statut Membre -
Bonjour,
je tente de réaliser un panier en me basant sur http://jmolline.free.fr/tutos/tuto_panier.html mais en adaptant ce panier a mes besoins et a récupéré les données via un formulaire.
Cependant il semble y avoir un problème avec les array_push car j'obtient comme message d’erreur:
"Warning: array_push() expects parameter 1 to be array, null given in D:\wamp64\www\exam_php\panier.php on line 33"
Voici mon code:
je tente de réaliser un panier en me basant sur http://jmolline.free.fr/tutos/tuto_panier.html mais en adaptant ce panier a mes besoins et a récupéré les données via un formulaire.
Cependant il semble y avoir un problème avec les array_push car j'obtient comme message d’erreur:
"Warning: array_push() expects parameter 1 to be array, null given in D:\wamp64\www\exam_php\panier.php on line 33"
Voici mon code:
<?php
session_start();
include("header.php");
include("navbar.php");
include("connectdb.php");
include_once("fonctions-panier.php");
//récuperation id de l'utilisateur
$mail=$_SESSION['email'];
$req2 =$conn->prepare("SELECT id FROM utilisateurs WHERE email = :email");//tentative de recuperer l'id de l'utilisateur
$req2->execute(['email' => $mail]);
$idUser= $req2 -> fetch();
/* Article exemple */
$select = array();
$select['id'] = $_POST['idArt'];
$select['qte'] = $_POST['quantity'];
$select['idUser'] = $idUser[0];
$select['prix'] = $_POST['prix'];
/* On vérifie l'existence du panier, sinon, on le crée */
if(!isset($_SESSION['panier']))
{
/* Initialisation du panier */
$_SESSION['panier'] = array();
/* Subdivision du panier */
$_SESSION['panier']['qte'] = array();
$_SESSION['panier']['idUser'] = array();
$_SESSION['panier']['prix'] = array();
}
/* Ici, on sait que le panier existe, donc on ajoute l'article dedans. */
array_push($_SESSION['panier']['id_article'],$select['id']);
array_push($_SESSION['panier']['qte'],$select['qte']);
array_push($_SESSION['panier']['idUser'],$select['idUser']);
array_push($_SESSION['panier']['prix'],$select['prix']);
/* Affichons maintenant le contenu du panier : */
?>
<pre>
<?php
var_dump($_SESSION['panier']);
?>
</pre>
1 réponse
Bonjour,
Ton erreur vient de la non déclaration de ta variable
Mais la façon dont tu stockes les données n'est pas pas la bonne.....
Je t'invite plutôt à te base sur ce code :
https://codes-sources.commentcamarche.net/source/102874-php-panier-caddi-virtuel-en-session
Ton erreur vient de la non déclaration de ta variable
$_SESSION['panier']['id_article']en tant qu'array comme aux lignes 27,28,29
$_SESSION['panier']['id_article'] = array();
Mais la façon dont tu stockes les données n'est pas pas la bonne.....
Je t'invite plutôt à te base sur ce code :
https://codes-sources.commentcamarche.net/source/102874-php-panier-caddi-virtuel-en-session
Merci de m'avoir répondu :)