Fatal error: Cannot use object of type panier as array in
Fermé
j3-1996
Messages postés
77
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
18 août 2014
-
1 mars 2014 à 14:00
j3-1996 Messages postés 77 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 18 août 2014 - 4 mars 2014 à 19:21
j3-1996 Messages postés 77 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 18 août 2014 - 4 mars 2014 à 19:21
A voir également:
- Uncaught error: cannot use object of type mysqli_result as array
- Shockwave flash object - Télécharger - Divers Web & Internet
- Faiblesse type spectre ✓ - Forum Jeux vidéo
- Http error 413 zimbra - Forum autres boîtes mail
- Network error ✓ - Forum Réseaux sociaux
- Error: bios/legacy boot of uefi-only media - Forum logiciel systeme
2 réponses
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 14:00
4 mars 2014 à 14:00
Salut,
J'ai l'impression que ça vient de la manière dont tu appelles ta méthode 'add' sur la page qui exploite cette classe, et plus précisément du typage de l'argument que tu lui passes.
Ce qui correspond à $product_id ne serait pas un entier, mais un objet.
Si tu veux en avoir le coeur net, fais un var_dump de ce que tu passes en tant que $product_id juste avant d'invoquer ta méthode 'add'.
J'ai l'impression que ça vient de la manière dont tu appelles ta méthode 'add' sur la page qui exploite cette classe, et plus précisément du typage de l'argument que tu lui passes.
Ce qui correspond à $product_id ne serait pas un entier, mais un objet.
Si tu veux en avoir le coeur net, fais un var_dump de ce que tu passes en tant que $product_id juste avant d'invoquer ta méthode 'add'.
j3-1996
Messages postés
77
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
18 août 2014
2
4 mars 2014 à 17:23
4 mars 2014 à 17:23
Salut,
Je te remercie déjà de ta réponse mais je bloque un peu ^^ j'ai mis un var_dump juste après:
Voilà le code de addpanier.php qui peut peut-être être utile:
Ce que je ne comprend pas c'est pourquoi ça marche très bien en local...
Et désolé si je comprend peut être pas encore tout très bien je suis débutant
Je te remercie déjà de ta réponse mais je bloque un peu ^^ j'ai mis un var_dump juste après:
public function recalc(){Mais ça n'affiche rien. Je ne sais pas si je l'ai mis à la bonne place. Ah oui et j'ai oublier de préciser que j'obtient ce message d'erreur quand je clique sur le bouton ajouter au panier qui me renvoie sur la page "addpanier.php" c'est donc sur la page addpanier.php que j'ai le message d'erreur pour panier.class.php
foreach($_SESSION['panier'] as $product_id => $quantity){
if(isset($_POST['panier']['quantity'][$product_id])){
$_SESSION['panier'][$product_id] = $_POST['panier']['quantity'][$product_id];
Voilà le code de addpanier.php qui peut peut-être être utile:
<?php
require '_header.php';
$json = array('error' => true);
if(isset($_GET['id'])){
$product = $DB->query('SELECT id FROM products WHERE id=:id', array('id' => $_GET['id']));
if(empty($product)){
$json['message'] = "Ce produit n'existe pas";
}else{
$panier->add($product[0]->id);
$json['error'] = false;
$json['total'] = number_format($panier->total(),2,',',' ');
$json['count'] = $panier->count();
$json['message'] = 'Le produit a bien été ajouté à votre panier';
}
}else{
$json['message'] = "Vous n'avez pas sélectionné de produit à ajouter au panier";
}
echo json_encode($json);
Ce que je ne comprend pas c'est pourquoi ça marche très bien en local...
Et désolé si je comprend peut être pas encore tout très bien je suis débutant
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
Modifié par flokocha le 4/03/2014 à 18:04
Modifié par flokocha le 4/03/2014 à 18:04
Ok alors ajoute un var_dump juste avant cette ligne : $panier->add($product[0]->id);
var_dump($product);
À mon avis ta requête a échoué, mais le résultat du var_dump nous en dira plus.
var_dump($product);
À mon avis ta requête a échoué, mais le résultat du var_dump nous en dira plus.
j3-1996
Messages postés
77
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
18 août 2014
2
4 mars 2014 à 18:09
4 mars 2014 à 18:09
Voilà j'ai le message suivant:
{"error":true,"message":"Vous n'avez pas s\u00e9lectionn\u00e9 de produit \u00e0 ajouter au panier"}
voilà apparemment c'est comme si je n'avais pas sélectionné de produit
{"error":true,"message":"Vous n'avez pas s\u00e9lectionn\u00e9 de produit \u00e0 ajouter au panier"}
voilà apparemment c'est comme si je n'avais pas sélectionné de produit
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 19:20
4 mars 2014 à 19:20
Donc tu es dans ton else, et tu n'appelles pas la méthode add. Ça n'a plus rien à voir avec ton premier post, du coup...
j3-1996
Messages postés
77
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
18 août 2014
2
4 mars 2014 à 19:21
4 mars 2014 à 19:21
Alors tu n'a d'idée d'où peux venir le problème ?