By: wayak
Date: 2007-04-24
Time: 11:52
|
Varibale php et class
Bonjour a tous,
voila le code de ma class Users
class Users
{
var $idUser = 0;
var $idtype = null;
var $typeUser;
var $userName;
var $userFirstName;
function FuncGetUserInfo()
{
$sessionName = session_name();
$sessionID = session_id();
$TBSMnuProfile = new clsTinyButStrong ;
$TBSMnuProfile->LoadTemplate('Templates/Users.html') ;
$TBSMnuProfile->Show(TBS_NOTHING);
return $TBSMnuProfile->Source;
}
}
|
code d'une fonction qui utilise cette clase
$p = new Users();
echo $p->FuncGetUserInfo();
|
code de la page html (templates)
<input type = 'hidden' id = 'SID' value = '[var.sessionName]=[var.sessionID]' />
<table>
<tr>
<td></td>
<td>
<b>Welcome</b></td>
</tr>
<tr>
<td>
[var.p.userName] [var.p.userFirstName]</td>
</tr>
<tr>
<td>
[var.p.typeUser]</td>
</tr>
<tr>
<TD>
<A HREF='logout.php' >Deconnection</A></TD>
</tr>
</table>
maintenant erreur obtenue :
TinyButStrong Error in field [var.sessionName...] : the PHP global variable named 'sessionName' does not exist or is not set yet. This message can be cancelled using parameter 'noerr'.
TinyButStrong Error in field [var.sessionID...] : the PHP global variable named 'sessionID' does not exist or is not set yet. This message can be cancelled using parameter 'noerr'.
TinyButStrong Error in field [var.p.userName...] : the PHP global variable named 'p' does not exist or is not set yet. This message can be cancelled using parameter 'noerr'.
TinyButStrong Error in field [var.p.userFirstName...] : the PHP global variable named 'p' does not exist or is not set yet. This message can be cancelled using parameter 'noerr'.
TinyButStrong Error in field [var.p.typeUser...] : the PHP global variable named 'p' does not exist or is not set yet. This message can be cancelled using parameter 'noerr'.
|
Où est mon erreur je ne vois pas mon problem.
pouvez vous m'aider?
|
By: wayak
Date: 2007-04-24
Time: 13:16
|
Re: Varibale php et class
J'ai trouvé mon erreur
Par exemple [var.x] sera remplacé par la valeur de $x. Les variables utilisateurs ainsi que variables prédéfinies ne peuvent être fusionnées que si elles sont globales.
Ce qui veut dire que je ne peut plus utilisé mon system de class.
Dans ma class users , mes variables sont en global. Mais elles ne sont pas global pour l'ensemble du projet c'est pour ça que sa plante.
Peut-on proceder autrements, qu'en mettant les variables à l'extérieur de la class ?
|
By: wayak
Date: 2007-04-24
Time: 13:23
|
Re: Varibale php et class
je veins de regarder les exemples et je trouve ce code:
<?php
include_once('tbs_class.php');
$montant = 3.55;
$tache['lundi'] = '<ménage>';
class clsObj {
var $param = 'bonjour';
}
$obj = new clsObj;
$TBS = new clsTinyButStrong;
$TBS->LoadTemplate('tbs_fr_exemples_var.htm');
$TBS->Show();
?>
|
Hors mon code est sesiblement le même. La différence vient du fait que le code appelant est également dans un classe.
Est-ce là le problème ?
|
By: Skrol29
Date: 2007-04-24
Time: 14:51
|
Re: Varibale php et class
Oui, quand ton code est appelé par une fonction ou un méthoe de classe, ses variables y sont locales et non pas globale.
Tu as deux solution pour TBS : soit tu utilises l'instruction "global" pour déclarer tes variables en globales dans ta fonction, ou bien tu utilises la proriété ->ObjectRef de TBS pour faire appel aux propriétés/méthodes de ton objet. Les valeurs à fusionner pouvant par exemple être stockées dans une seule variable tableau.
|
By: wayak
Date: 2007-04-24
Time: 15:24
|
Re: Varibale php et class
Ok thanks it's very good. :)
|
|
Posting in progress.
Please wait...
|