begin process at 2012 05 30 13:34:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

[ Debutant ] pb avec une class et un array


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[ Debutant ] pb avec une class et un array

lundi 6 avril 2009 à 09:41:23 | [ Debutant ] pb avec une class et un array

shockwave77

Membre Club
Bonjour à tous,

voila je debute dans les class, et je rencontre un petit problème avec une mise en array()...

Le but de ma class est de recupérer des messages d'alerte tout au long d'un script et de les réafficher à la fin dans un DIV mis en forme.

voici ma class :

class msgsys{

    var $info;
    var $title = 'Information système';
   
    function ajoutinfo($message){
        $this->info = $message;
        //$info[] = $message;
        print_r($info);
    }
   
    function show(){
        echo '<div class="msgsys">
        <fieldset>
        <legend>'.$this->title.'</legend>';
        foreach($info as $valeur)
            {
                echo $valeur.'<br />';
            }   
        echo '</fieldset>
        </div>';
    }
}

et voici ma page de test.php


$alert = new msgsys();
$alert->ajoutinfo($DirectAccessNotAllowed);
$alert->ajoutinfo($AccessViolation);
$alert->ajoutinfo($AuthentificationFailed);
$alert->show();


Jusque là rien d'extraordinaire... sauf que ça ne me retourne rien....
Etant debutant j'ai du mal à comprendre où j'ai merdé...

Bien entendu, les includes sont corrects, donc les variables sont bien remplis.
Dans la class, j'ai essayer plusieurs choses... mais arrivé dans la fonction show(), pas moyen de visualiser le contenu de l'array... quelque soit la méthode... et PHP me renvoie :

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\class\test.class.php on line 51

forcement puisque arrivé dans cette fonction l'array est vide/inexistant.

et c'est là que je comprend pas...

Merci de votre aide.


Jérôme.

quand on sait pas... faut pas rester dans l'igorance, faut demander
lundi 6 avril 2009 à 09:49:53 | Re : [ Debutant ] pb avec une class et un array

shockwave77

Membre Club
Réponse acceptée !
Bon...

je viens de tilté ...

class msgsys{

    var $info;
    var $title = 'Information système';
   
    function ajoutinfo($message)
        {
            $this->info[] = $message;
        }
   
    function show(){
        echo '<div class="msgsys">
        <fieldset>
        <legend>'.$this->title.'</legend>';
        foreach($this->info as $valeur)
            {
                echo $valeur;
            }
        echo '</fieldset>
        </div>';
    }
   
}

ça marche mieux comme ça

Dans ajoutinfo()

le fait de declarer $this->info = $message ne me mettait pas la variable en array mais ecrasait la précédente....

du coup $this->info[] = $message me met bien tous les messages en array()

desolé pour le message

Jérôme.

quand on sait pas... faut pas rester dans l'igorance, faut demander
lundi 6 avril 2009 à 20:35:31 | Re : [ Debutant ] pb avec une class et un array

malalam

Administrateur CodeS-SourceS
"quand on sait pas... faut pas rester dans l'igorance, faut demander "
...ou trouver par soi-même, comme tu l'as fait. Félicitations :-)
mardi 7 avril 2009 à 09:00:31 | Re : [ Debutant ] pb avec une class et un array

shockwave77

Membre Club
Merci malalam, ça me fait plaisir :)
et pi après près de 2 ans en autodidacte :) il serait temps ^_^ ....

(je sais .... je comprend vite mais faut m'expliquer longtemp  )

@+

quand on sait pas... faut pas rester dans l'igorance, faut demander
mercredi 13 mai 2009 à 18:26:17 | Re : [ Debutant ] pb avec une class et un array

nautilus99

une version en pur PHP 5...

<?php
class msgsys
{
    public $info = null ;
    public $title = 'Information système';

    public function __construct()
    {
        $this->info = array() ;
    }

    public function ajoutinfo( $message )
    {
        array_push( $this->info, $message ) ;
    }

    public function show(){
        echo '<div class="msgsys">
        <fieldset>
        <legend>'.$this->title.'</legend>';
        echo implode( '<br />', $this->info ) ;
        echo '</fieldset>
        </div>';
        }
}

// test class
$alert = new msgsys();
$alert->ajoutinfo('DirectAccessNotAllowed');
$alert->ajoutinfo('AccessViolation');
$alert->ajoutinfo('AuthentificationFailed');
$alert->show();





Cette discussion est classée dans : class, alert, array, info, ajoutinfo


Répondre à ce message

Sujets en rapport avec ce message

Ptite question sur un array ! [ par destiny ] Hello all enfin du moins RE :pbon juste une ptite info sur les array's !Voila j'ai une question sur un questionnaire assez long (4 pages et environ 25 Include, class et array [ par Hades5k ] Bonjour! J'ai un petit problème à utiliser un array dans un fichier que j'inclus... voici un peu le code : $classNames = array(); include_once('inc/ma push_array associatif [ par Teddy_le_gnein ] bonjour,j'ai une question qui me semble simple, mais j'ai énormément de mal à trouver la réponse.alors voilà, j'ai une boucle while qui récupère des d exploiter une variable inconnue dans un array incrémenté [ par Teddy_le_gnein ] Hello tous le monde.je reviens à la charge avec mes array incrémentés...Comme la dernière fois je suis persuadé qu'il y a une solution simple mais que array en constantes de classe [ par christophedlr ] Bonsoir,Pour mon site (enfin CMS plutot ;)), je voulais utilisé un tableau comme constantes de classe, mais apparemment c'est refusé par PHP5, voici l Erreur sur un array dans une class [ par zemele ] Bonjour, Je viens d'installer mon site le serveur (dev local sous MAMP), et voilà que ma class ne fonctionne plus... Voici le message d'errer : "Ca Problème héritage PHP5 [ par gonZoo2 ] J'ai rencontré un problème donc car je souhaite créer des classes à l'image du langage Java   Voici donc les classes et le code que j'ai réalisé : XML/XSLT dynamique [ par JoJo738 ] Bonjour à tous ^^ Cela fait un bail que je ne suis pas venu sur le forum :p Alors un petit coucou à tout ceux que je connais ;) Sinon, je suis là po Parse error. besoin de votre aide [ par fairthy ] Bonjour à tous et toutes, bon voilà j'ai un soucis avec un code et je trouve pas l'erreur. j'utiliser dolibarr et je n'arrive plus à avoir accès à me HELLPPPP [ par youvalcsharpp ] Bonjour, j'ai ce code : [code=php] "; print_r ($tab4); ?> [/code] Cela affiche : A


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales