2010-09-18 28 views
0

J'essaie d'intégrer mon système de connexion fait avec PHP avec le système de connexion PHPBB. Mon problème est que j'inclus le document de connexion PHP qui contient une classe appelée $user mais mon système de connexion utilise aussi $user. par exemple Ma fonction de connexion s'exécute dans une classe appelée $ user et la classe de connexion phpbb est $ user-> loginPHP Variables avec le même nom

Est-il possible de charger le document phpbb, et de se connecter dans un type distinct de "environnement" à mon site principal?

Si vous avez besoin de plus d'information Laissez-moi savoir

+0

Par "environnement" vous voulez dire la portée. Vous devriez utiliser des classes pour Facebook et pour votre système de connexion, alors vous aurez $ facebook-> user, $ login-> user. – fredley

+1

vous avez trouvé une bonne raison d'éviter les variables globales :) –

+0

pouvez-vous nous montrer le code qui cause le problème s'il vous plaît. – RobertPitt

Répondre

3

Vous pouvez exécuter votre code dans une fonction. Les fonctions ne sont pas passées les variables globales si vous ne leur dites pas explicitement;)

+0

Une classe ne peut pas démarrer avec un '$'! Vous avez affaire à une * instance * d'une classe et cette instance peut être créée et utilisée dans une autre portée scope-function. – NikiC

0

Ne pouvez-vous pas changer la variable?

tel que

<?php 
    include 'the/phpbb/core.pohp'; 

    $phpbb_user = $user; 

    include 'my/login.pohp'; 

    if($user->valid_uid($phpbb_user->uid)) 
    { 
    } 
?> 

modifications:

Pouvez-vous ajouter une seconde variable

Ouvrir common.php et trouver les éléments suivants:

$user = new user(); 

ajouter Après

$backup_user = $user; 
+0

Consultez ma mise à jour! – RobertPitt

+0

Vous pouvez créer une classe statique pour définir/obtenir des objets, la classe statique aura une portée globale pour l'accès mais les objets stockés à l'intérieur seront liés à la portée de la classe. – RobertPitt