IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Warning class panier


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut Warning class panier
    slt tlm,
    out d'abord je suis encore débutant dans le POO,j'ai a peine commencé a l'utiliser,bon;je voulais modifier un code(panier) en POO,le premier essai tout a bien fonctionné sauf qu’après il m'affiche toujours un warning:
    Warning: array_search() expects parameter 2 to be array, null given in C:\Program Files\EasyPHP-5.3.3\www\poo\personne.php on line 31
    et depuis j'ai tout changer et remodifier mais pas de changement toujours ce warning la.

    Voila ma classe panier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
                class caddie {
     
     
                        public function __construct() {
     
                        }
     
     
     
     
     
                        public function create() {                        
                            if(!isset($_SESSION['caddie'])){
                                $_SESSION['caddie']= array();
                                $_SESSION['caddie']['content']= array();
                                $_SESSION['caddie']['price'] = array();
                                $_SESSION['caddie']['quantite'] = array();
     
                            }
                            return true;
                        }
     
     
     
     
     
                        public function add($content,$quant,$pri) {
                            if (caddie::create()){
                                $position = array_search($content, $_SESSION['caddie']['content']);
                                if($position !== false){
                                    $_SESSION['caddie']['quantite'][$position] += $quant;
                                }else{   
                                    array_push($_SESSION['caddie']['content'],$content);
                                    array_push($_SESSION['caddie']['price'], $pri);
                                    array_push($_SESSION['caddie']['quantite'], $quant);
                                }
                            }
                        }
     
     
     
     
     
     
                        public function remove($product) {
                            $tmp = array();
                            $tmp['content'] = array();
                            $tmp['quantite'] = array();
                            $tmp['price'] = array();
                            for($i = 0; $i < count($_SESSION['caddie']['content']); $i++){
                               if ($_SESSION['panier']['content'][$i] !== $product){
                                array_push($tmp['content'],$_SESSION['caddie']['content'][$i]);
                                array_push($tmp['quantite'],$_SESSION['caddie']['quantite'][$i]);
                                array_push($tmp['price'],$_SESSION['caddie']['price'][$i]);
                                }
                            }        
                               $_SESSION['caddie'] = $tmp;
                               unset($tmp);
                        }
     
     
     
     
     
                        public function modify($product, $quant) {
                            if($quant > 0){
                                $position = array_search($product, $_SESSION['caddie']['content']);
                                if ($position !== false){
                                  $_SESSION['caddie']['quantite'][$position] = $quant ;
                                }
                            }else{
                                caddie::remove($product);
                            }
                        }
     
     
     
     
     
                        public function montantGlobal() {
                            $total=0;
                            for($i = 0; $i < count($_SESSION['caddie']['content']); $i++){
                               $total += $_SESSION['caddie']['content'][$i] * $_SESSION['caddie']['price'][$i];
                            }
                              return $total;
                        }
     
     
     
     
     
     
     
                        public function count_all() {
                            if(isset($_SESSION['caddie'])){
                              return count($_SESSION['caddie']['content']);
                            }else{
                                return 0;
                            }
                        }
     
     
     
     
                        public function remove_all() {
                            unset ($_SESSION['caddie']);
                        }
     
     
                }
     
    ?>
    si vous voulez d'autre information ,je peux tout mettre

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Est ce que tu es absolument sûr que ta session est bien démarrée à chaque appel ?
    Met dans la fonction add() un ou tout autre renvoi de valeur utilisé pour le débug (error_log) et teste

    Dans ta fonction remove() tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION['panier']['content'][$i] !== $product){
    Normal ?

Discussions similaires

  1. [MySQL] creation d'une class panier?comment m'y prendre
    Par keokaz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/04/2010, 15h22
  2. Eliminer un warning dans une classe exception
    Par javamax dans le forum Langage
    Réponses: 7
    Dernier message: 05/07/2007, 13h44
  3. Warnings a tout va avec la classe vector
    Par rikau2 dans le forum SL & STL
    Réponses: 6
    Dernier message: 14/06/2007, 10h04
  4. Warning lors la creation d'une classe
    Par addack dans le forum Langage
    Réponses: 11
    Dernier message: 02/11/2005, 12h06
  5. Réponses: 5
    Dernier message: 11/07/2005, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo