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 :

[POO] Non instanciation depuis une fonction : ce comportement est-il normal ?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut [POO] Non instanciation depuis une fonction : ce comportement est-il normal ?
    Bonjour

    Je n'arrive pas à utiliser une class depuis une fonction, est ce normal.

    Au debut de mon script, j'ai ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    require_once("news_bibliotheque/scripts/erozia_class_user.php");
    A l'interieur de ma fonction j'ai ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $userobj=new erozia_user;

    j'ai le message d'erreur suivant:

    Fatal error: Cannot instantiate non-existent class: erozia_user in f:\truc.net\demo\news\news_bibliotheque\scripts\erozia_liste_sender_ticket.php on line 8

    Est normal, comment faire pour ma class contenu dans le fichier erozia_class_user.php soit disponible depuis mes fonctions.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Oui c'est normal, la fonction ne connait que ses propres variables, c'est pareil pour la classe, mais tu peux la passer en paramètres, avec le & devant si tu veux la passer par référence et que les modif sur la classe faites dans la fonction soit retournés
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Y a t'il alors une astuce pour globaliser mon objet et le rendre accessible depuis toute les fonctions du script?

    du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $objet= new class;
    global $objet;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Lis la doc concernant la porté des variable, je pense que c'est la même chose pour les class

    apparemment on peux faire ca avec des variable, je sais pas si ca marche pour les class, a tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $var = 3;
     
    function test () {
    global $var;
    echo $var
    }
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  5. #5
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    il n'y a pas de problème avec les objects comme avec les variables

    exemple :

    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
     
    // connexion à une base par le biais d'une classe mysql
    $DB = new Mysql(DB_SERVER_USERNAME, DB_SERVER_PASSWORD , DB_SERVER, DB_DATABASE);
     
    	function getCollection()
    	{
                global $DB;
     
                var_dump($DB);
    	}
     
    	getCollection(); // renvoit bien les renseignements de l'objet $DB
     
     
            // &$obj pour un objet modifié
    	function getCollection($obj)
    	{
    	     var_dump($obj);
    	}
     
    	getCollection($DB); // renvoit bien les renseignements de l'objet $DB
    Zend PHP5 Certification
    MySQL 4 Core Certification

  6. #6
    Membre régulier Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Points : 97
    Points
    97
    Par défaut
    Je n'ai pas réussi à retrouver la référence, mais les classes sont accessibles depuis n'importe quel endroit du code, elle n'ont pas de contexte. Le problème doit donc venir d'ailleurs. Il faudrait que tu nous mette un extrait de la déclaration de ta classe dans le fichier 'erozia_class_user.php'.

    J'ai d'abord pensé que c'était la création de l'objet qui était mauvaise, dans le manuel ils spécifient de le faire avec les parenthèses : $userobj=new erozia_user();
    Apparemment les deux fonctionnent mais ça vaudrait quand même la peine d'essayer avec.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Voila un extrait de ma class

    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
     
    class erozia_user
    	{
    	var $user_tab_value;
    	var $user_login;
    	var $is_online;
    	var $user_tab_ticket;
     
        function erozia_user()
    		{
    		$this->user_tab_value= array();
    		$this->user_tab_ticket=array();
    		$thid->$user_login='';
    		$this->is_online=false;
    		}
     
        function get_valeur_user($user_id)
    		{
    		// requete sur la base pour recherhe des valeur de l'utilisateur -------
    		$req="select erozia_membre_login,erozia_membre_mail,erozia_type_membre from erozia_membre where erozia_membre_id=$user_id";
    		$res=mysql_query($req);
    		$val=mysql_fetch_array($res);
    		$this->user_tab_value[username]=$val[erozia_membre_login];
    		$this->user_tab_value[usermail]=$val[erozia_membre_mail];
    		$this->user_tab_value[usertype]=$val[erozia_type_membre];
    		}
            }
    en fait, je n'arrive pas a creer un nouvel objet a l'interieur de ma fonction, parce que le code de la class importé par require_once n'est pas visible depuis la fonction.

    maintenant si je place require_once a l'interieur de la fonction, ca marche, mais ca je ne veux pas, je ne vois pas l'interet de faire de l'objet si c'est pour importer les meme bouts de code a chaque appel de la fonction.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Je n'ai pas réussi à retrouver la référence, mais les classes sont accessibles depuis n'importe quel endroit du code, elle n'ont pas de contexte.
    Tu es sur ? car moi j'ai une classe template que je passe en paramètre à toute mes fonctions (qui la recoivent en référence avec &).

    Je vais tester ca dès ce soir, si tu as raison, je vais pouvoir simplifier, tu as vu ca dans la doc ?
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    Attention de différencier une classe et un objet.
    Une classe est assimilée à un type. Un objet est une instance d'une classe...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Arf, oui t'as raison, je confondais, donc mon code est bon.

    Donc son problème viens d'ailleur, rien a voir avec global ou pas.
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Effectivement, je confirme ce que dit eric93 en reecrivant un script tout simple j'arrive a instancier un objet depuis une fonction sans lui passer de parametre, donc une class est accessible depuis n'importe ou.

    Ce qui est etrange c'est que ca ne fonctione pas depuis mes autres scripts qui ont la meme structure que mon script test

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    ton require_once, est-il dans une condition (un if par exemple) ?
    Le require comme l'include remplace la ligne d'inclusion par le contenu du fichier inclus avant l'interprétation par php.
    Vérifie bien ça, c'est ce qui me semble le plus probable.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    j'ai verifié ça aussi, je viens de le placer au debut du script, le pb est identique.

    j'ai le message suivant

    Fatal error: Cannot instantiate non-existent class: erozia_user

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Moi qui utilise que de simple #include, j'ai été voir la doc pour les include() et require(), et je vois ca pour include() :

    Cette documentation s'applique aussi à la fonction require(). Les deux structures de langage sont identiques, hormis dans leur gestion des erreurs. Ils produisent tous les deux un Alerte mais require() génère une erreur fatale.
    Or tu as
    Fatal error: Cannot instantiate non-existent class: erozia_user in f:\truc.net\demo\news\news_bibliotheque\scripts\erozia_liste_sender_ticket.php on line 8
    Ca serais pas tout bètement qu'il ne trouve pas ta class dans la bibliothèque indiqué ? lol

    Ils disent aussi
    Les fichiers à inclure sont d'abord recherchés dans le dossier désigné par include_path, relativement au dossier courant, puis dans include_path, relativement au dossier de travail du script. Par exemple, si include_path est ., que le dossier de travail est /www/, et que vous incluez le fichier include/a.php et qu'il y a une instruction include "b.php" dans ce fichier, alors b.php est d'abord recherché dans /www/libraries/, puis dans /www/include/. Si le nom du fichier commence par ./ ou ../, il est cherché uniquement dans l'include_path relatif au dossier courant d'exécution.
    Cherche de ce coté la (include_path)
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    Aux grands maux les grand remèdes... donne-nous ton code complet (enfin jusqu'à ta fonction au moins) y compris le fichier inclus...

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    stfm as tu vu mon message précédent ? je crois que son require ne trouve tout simplement pas sa class
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    Alors que d'abord qu'on a posté en même temps, donc non je n'avais pas vu
    Et ensuite tu édites ton message pendant que je fais autre chose, c'est gonflé

    Je ne pense pas que ce soit ça, il dirait qu'il ne peut pas inclure le fichier et non qu'il ne peut pas instancier la classe.
    Qui plus est, winBernado a testé avec un autre fichier plus simple sans soucis, donc....... la vérité est ailleurs

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    alors,

    ca c'est le client universel, la page qui est est appelé dans le navigateur

    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
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    <?session_start();
    require_once("news_bibliotheque/scripts/erozia_class_user.inc");
     
    // init des variables ----------------------------------------------------------
    include("priv/site/$site.php");
    // connexion à la base ---------------------------------------------------------
    $link_news=mysql_connect("$serveur_mysql","$compte_mysql","$password_mysql") or die ("impossible de se connecter à la base  0001");
    mysql_select_db("$database_mysql") or die ("impossible de se connecter à la base 0002");
     
     
    // declaration des fonction d'affichage et d'arborescence ----------------------
     
    function affichage_box($class_box,$id_box_view,$div_box_view,$zindex,$event,$box_name)
    	{
    	global $link_news;
    	global $language_select;
    	global $site;
    	global $database_mysql;
     
    	// recherche du code de la boite -------------------------------
    	$req_code="select id,code1,script_name from level44_projet_box_contenu where id_box=$id_box_view and (langue='$language_select' or langue='all')";
    	$res_code=mysql_query($req_code,$link_news);
    	$val_code=mysql_fetch_array($res_code);
    	$code=$val_code[code1];
    	$id_box=$val_code[id];
    	$script_name=$val_code[script_name];
    	if($class_box<>'')
    	    {
    		$div_box_view=substr_replace($div_box_view, " class=$class_box ", 5, 0);
    	    }
        $div_box_view=substr_replace($div_box_view, " z-index: $zindex; ", -2, 0);
        // insertion evenement -----------------------------------------------------
        if($event<>'')
        	{
        	$div_box_view=substr_replace($div_box_view, " $event", -1, 0);
        	}
        echo $div_box_view;
        if($script_name<>'')
            {
            include("news_bibliotheque/scripts/$script_name");
            include("priv/site/$site.php");
            $link_news=mysql_connect("$serveur_mysql","$compte_mysql","$password_mysql") or die ("impossible de se connecter à la base  0001");
            mysql_select_db("$database_mysql") or die ("impossible de se connecter à la base 0002");
            }
    	else
    	    {
    	    echo $code;
    	    }
    	}
     
     
    function box_enfant($id)
    	{
    	global $niveau;
    	$req="select * from level44_projet_div where box_parent=$id order by id";
    	$res=mysql_query($req);
    	while($val=mysql_fetch_array($res))
    		{
    		$box_name=$val[div_name];
    		$id_box_view=$val[id];
    		$class_box=$val[class_box];
    		$div_box_view=$val[tag_start];
    		$zindex=$val[zindex];
    		$event=$val[event];
    		affichage_box($class_box,$id_box_view,$div_box_view,$zindex,$event,$box_name);
    		box_enfant($id_box_view);
    		}
        print("</div>");
    	}
     
    // fin de la declaration des fonctions d'arborescence et d'affichage -----------
    if($projet0<>'')
    	{
     	$_SESSION[projet1]=$projet0;
    	}
    // recherche des infos de configuration de la page -----------------------------
    $requprojet="select * from level44_projet_admin where projet='$_SESSION[projet1]'";
    $resultprojet=mysql_query($requprojet);
    $val=mysql_fetch_array($resultprojet);
    $titre_page=$val[titre_page];
    $javascript_header=$val[javascript_header];
    $php_header=$val[php_header];
    $keyword=$val[keyword];
    $actif_page=$val[actif_page];
    $css_files=$val[css_files];
     
     
    if($php_header<>'')
    	{
    	require("news_bibliotheque/scripts/$php_header");
    	}
    if($javascript_header<>'')
    	{
    	$js_file="<script language=\"javascript\" src=\"news_bibliotheque/javascript/$javascript_header\"></script>";
    	}
    else
    	{
    	$js_file="";
    	}
    // recherche du texte meta_description -----------------------------------------
    $req_metadesc="select description from level44_projet_meta_description where projet='$_SESSION[projet1]' and language='$language_select'";
    $res_metadesc=mysql_query($req_metadesc);
    $val_metadesc=mysql_fetch_array($res_metadesc);
    $meta_description=$val_metadesc[description];
    print ("
    <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html>
    <head>
    <title>$titre_page $username</title>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
    <meta name=\"description\" content=\"$meta_description\">
    <link rel='stylesheet' href='news_bibliotheque/css_files/".$_SESSION[projet1].".css' type='text/css'>
    <link rel='stylesheet' href='news_bibliotheque/css_files/".$site.".css' type='text/css'>
    <meta name=\"keywords\" lang=\"fr\" content=\"$keyword\">
    <meta name=\"revisit-after\" content=\"15 day\">
    $js_file
    </head><body>");
    // recherche des données de chaque bloc de la page -----------------------------
    $req="select * from level44_projet_div where projet='$_SESSION[projet1]' and site='$site' and box_parent='' order by id";
    $res=mysql_query($req);
    while ($val=mysql_fetch_array($res))
    	{
    	$box_name=$val[div_name];
    	$id_box_view=$val[id];
    	$class_box=$val[class_box];
    	$div_box_view=$val[tag_start];
    	$zindex=$val[zindex];
    	$event=$val[event];
    	affichage_box($class_box,$id_box_view,$div_box_view,$zindex,$event,$box_name);
    	box_enfant($id_box_view);
    	}
    print("</body></html>");
    ?>
    le fichier contenant la class

    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
     
    class erozia_user
    	{
    	var $user_tab_value;
    	var $user_login;
    	var $is_online;
    	var $user_tab_ticket;
     
        function erozia_user()
    		{
    		$this->user_tab_value= array();
    		$this->user_tab_ticket=array();
    		$thid->$user_login='';
    		$this->is_online=false;
    		}
     
        function get_valeur_user($user_id)
    		{
    		// requete sur la base pour recherhe des valeur de l'utilisateur -------
    		$req="select erozia_membre_login,erozia_membre_mail,erozia_type_membre from erozia_membre where erozia_membre_id=$user_id";
    		$res=mysql_query($req);
    		$val=mysql_fetch_array($res);
    		$this->user_tab_value[username]=$val[erozia_membre_login];
    		$this->user_tab_value[usermail]=$val[erozia_membre_mail];
    		$this->user_tab_value[usertype]=$val[erozia_type_membre];
    		}
     
        function get_last_ticket($user_id)
    		{
    		// recherche des membres ayant regardé mon profil -----------------------------------------------------------------
    		$var_req="select id, erozia_membre_emetteur from erozia_membre_ticket where id_dest='$user_id' and ticket_status='N' group by erozia_membre_emetteur";
    		$var_res=mysql_query($var_req);
    		$nb_result=mysql_num_rows($var_res);
    		$erozia_membre_emetteur_tmp="";
    		$a=0;
    		while($var_val=mysql_fetch_array($var_res))
    			{
    			$login_viewer=$var_val[erozia_membre_emetteur];
                $this->user_tab_ticket[$a][username_sender_ticket]=$var_val[erozia_membre_emetteur];
                 // combien de ticket par sender ----------------------------------------------------------------------------
                $var_req0="select COUNT(id) as nb_ticket from erozia_membre_ticket where erozia_membre_emetteur='$login_viewer' and id_dest=$user_id";
                $var_res0=mysql_query($var_req0);
                $var_val0=mysql_fetch_array($var_res0);
                //$nb_ticket=$var_val0[nb_ticket];
                $this->user_tab_ticket[$a][nb_ticket_by_sender]=$var_val0[nb_ticket];
                $this->get_user_is_online($login_viewer);
                $this->user_tab_ticket[$a][sender_is_online]=$this->is_online;
    			$a=$a+1;
    			}
    		}
     
        function set_status_ticket($username_emetteur)
    		{
            $var_req="update erozia_membre_ticket set ticket_status='Y' where erozia_membre_emetteur='$username_emetteur' and id_dest=$_SESSION[var_erozia_membre_id]";
        	$var_res=mysql_query($var_req);
    		}
     
        function get_user_is_online($user_login)
    		{
            $var_req1="select COUNT(erozia_chat_online_id) as is_online from erozia_chat_online where erozia_chat_online_login='$user_login'";
            $var_res1=mysql_query($var_req1);
            $var_val1=mysql_fetch_array($var_res1);
            if($var_val1[is_online]==0)
                {
                $this->is_online=false;
                }
            else
                {
                $this->is_online=true;
                }
    		}
    	}
    et le fichier de lequel se trouve l'instanciation de l'objet.
    ce fichier est inclus dans la fonction affichage_box a la ligne 40

    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
     
    <?
     
    $userobj=new erozia_user();
     
    // modification status ticket --------------------------------------------------
    if($_GET[emetteur_ticket])
        {
        $userobj->set_status_ticket($_GET[emetteur_ticket]);
        }
     
    $userobj->get_last_ticket($_SESSION[var_erozia_membre_id]);
     
    print("
    <table border=0 style='width:97%;'>
    <tr style='font-weight:bold;'><td></td><td>Login</td><td>En ligne</td><td></td><td></td><td></td></tr>");
    foreach($userobj->user_tab_ticket as  $tab_user_value)
    	{
                    if($tab_user_value[sender_is_online]==1)
                            {
                            $chat_online="<img src='news_bibliotheque/images/boule_verte.jpg'>";
                            $chat_link="<a href='news_css.php?projet0=chat'>Chatter</a>";
                            }
                        else
                            {
                            $chat_online="<img src='news_bibliotheque/images/boule_rouge.jpg'>";
                            $chat_link="";
                            } 
                    print("<tr><td><a href='#' onclick=load_exec_script('erozia_liste_sender_ticket.php?emetteur_ticket=$tab_user_value[username_sender_ticket]','profil_resume');><img src='news_bibliotheque/images/poubelle6.gif' border=0></a></td><td>$tab_user_value[username_sender_ticket] ($tab_user_value[nb_ticket_by_sender])</td><td>$chat_online</td></td>$chat_link</td></tr>");
    	}
     
    print("</table>");
     
    ?>
    Voila

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Qui plus est, winBernado a testé avec un autre fichier plus simple sans soucis, donc....... la vérité est ailleurs
    Justement il as surement testé en mettant une classe en dure dans sa page de test (sans require), mais bon c'étais juste une piste.
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    oui, je viens de le faire, même resultat

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AS2] Atteindre attribut d'une classe depuis une fonction interne a la classe
    Par Demco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 18/04/2006, 21h03
  2. Variable générale non trouvée dans une fonction
    Par mickael.be dans le forum Langage
    Réponses: 10
    Dernier message: 21/02/2006, 19h18
  3. [PHP-JS] Formulaire non trouvé dans une fonction
    Par philippe30 dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2005, 21h53
  4. Retourner un tableau depuis une fonction
    Par obalais dans le forum C++
    Réponses: 2
    Dernier message: 20/10/2005, 16h49
  5. Ecrire dans un tableau html depuis une fonction js ?
    Par botanica dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2005, 12h48

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