Accueil > Forum > > > > Espace membre objet constructeur sans paramètres...
Espace membre objet constructeur sans paramètres...
vendredi 19 décembre 2008 à 15:22:19 |
Espace membre objet constructeur sans paramètres...

alphacrash
|
Salut, voilà j'essaye de créer un espace membre en objet PHP5 et j'ai un souci, je n'arrive pas à utiliser un objet crée dans une portion de if. En fait sur ma page index.php j'ai un formulaire dont l'attribut action envoie vers index.php?page=membre. Dans cette page membre j'ai ce traitement: <?php require("config.inc.php"); require("database.php"); require("users.php"); extract($_POST); if(isset($login)&&isset($pass)){ $myUser = new users($login,$pass); if($myUser->logging()){ echo "Bienvenue ".$_SESSION["login"];echo "<a href=\"index.php?action=deco\">Deco</a>";} else{ echo "Login invalide"; } } ?> Mais le problème est que mon objet ne pourra etre utilisé que dans mon bloc IF et ne sera crée que si le formulaire a été soumis. je voudrais pouvoir appliquer ma méthode deconnection(), mais je ne le peux :-( si quelqu'un a un coup de main a me filer ...merci d'avance. Coding is not a crime!
|
|
samedi 20 décembre 2008 à 10:39:46 |
Re : Espace membre objet constructeur sans paramètres...

malalam
|
Hello,
j'ai lu ton post hier, mais j'avais la flemme d'y répondre...comme personne ne l'a fait depuis, bah, je me dévoue... Et si j'avais la flemme, c'est parce que ton truc, c'est un problème de modélisation, de conceptualisation, et que c'est tjrs le plus long à expliquer! Déjà, commence par débroussailler un peu ton bin's : explique mieux ce que tu veux faire, pourquoi, et comment. Parce que ça reste très flou. Je vais quand même me hasarder... : en gros, t'as un formulaire d'identification en POST, sur ta page d'accueil. Ton code vérifie si l'identification est réussie, et dans ce cas, instancie l'objet "user", qui contient une méthode de déconnexion. Mais, une fois le gars loggé, s'il bouge, il reste loggé mais le formulaire n'est pas soumis (forcément, il s'est déjà loggé), et comme tu n'instancies ton objet QUE si le formulaire est soumis, tu ne peux plus faire appel à la déconnexion. C'est ça ? Si c'est ça, tu t'y prends très mal :-) Ton objet users se construit avec un login et un pwd...pourquoi? C'est ta 1ère erreur. Cela implique que sur chaque page, tu es obligé de lui passer un login et un mot de passe...si tu veux pouvoir réinstancier ton objet, et donc, tu dois te trimballer ces 2 variables en session. C'est inutile...D'autant plus qu'un "utilisateur" n'est pas forcément un "membre" de ton site. Dans l'absolu, tu devrais avoir une classe abstraite users, et des classes étendues derrière, pour le membre, l'admin, etc...(c'est juste UN exemple, il y a des milliers de façons de faire). Mais bon...en conservant ton idée, il te manque un truc seulement : teste ta session. Si $_SESSION['login'] existe, c'est que le gars est identifié, donc tu peux instancier ton objet. Manque le mot de passe...d'où ma suggestion de ne pas créer un constructeur aussi restrictif. Selon ton modèle, tu dois alors trimballer aussi le mot de passe en session, et le passer au constructeur du coup. Mais je le répète, c'est tordu... Tu devrais plutôt avoir un constructeur sans argument, et une propriété $iUserId, par exemple. Et une méthode : login() prenant un login et un mot de passe, qui renvoie le $iUserId, et remplit la propriété, si le gars est identifié, false sinon. Cette version oblige à vérifier pour la plupart des actions que tu aies un $iUserId avant de faire quoi que ce soit. Il y a d'autres moyens...beaucoup d'autres, mais restons simples, d'autant que je ne connais pas ton niveau.
|
|
dimanche 21 décembre 2008 à 12:48:05 |
Re : Espace membre objet constructeur sans paramètres...

alphacrash
|
ok , merci ! C'est vrai que j'ai codé ça à l'arrache en faisant un test. Mais il est clair qu'au niveau de la modelisation c'est n'importe quoi. Je vais revoir ma modélisation en mettant une classe users et un constructeur sans paramètres pour instancier un objet user de cette manière : $myUser = new user(); Et si le formulaire est soumis alors j'appellerais une méthode publique par exemple setUserSettings($login,$pass). Je pense que c'est plus judicieux non ?
Coding is not a crime!
|
|
dimanche 21 décembre 2008 à 12:59:51 |
Re : Espace membre objet constructeur sans paramètres...

malalam
|
Par exemple. Voire statique...ça peut faire l'objet d'une usine (voir design pattern factory), dont on testerait le retour. Si c'est un objet, l'identification est réussie, si c'est false, elle est échouée... Enfin, encore une fois, il y a mille façons de faire. Trouve celle qui t'arrange.
|
|
Cette discussion est classée dans : php, login, objet, membre, if
Répondre à ce message
Sujets en rapport avec ce message
session_is_registered() [ par tweeder ]
Bonjour, je vais essayer d'être le plus clair possible.Voila je veux sécuriser mon site grâce au php avec session_is_registered(). J'ai donc une page
variables de session [ par tweeder ]
BonjourJ'ai posé la question plus tôt cette semaine mais je crois que je m'étais mal exprimévoila j'aimerais récupérer ma variable de session enregist
Problème assez important [ par Bartheleway ]
Voilà, j'ai un espace membre. Mais j'ai fait pas mal d'erreur de progra aparament.ERREUR : $login = $_SESSION['login']; include_path='variable.php.inc
php sql affiché si [ par olvean ]
Bonjour alors voila je cherche quelqu'un qui pourrai m'aider à afficher les objet d'un membre uniquement si il lui appartient. donc en gros je voudrai
Aide espace membre [ par vetudiant ]
Rebonjour, suite à une faute de ma part, je refais ce message afin d'élucider mon probleme. On m'a apparemment dit de mieux structurer mes pages, ma
Authentification php [ par loviso ]
Salut Je suis entrain de rediger un script d'authentification,il parait qu'il y a un probléme mais je sais pas où,même lorsque j'écris les logins et m
Pb perte de login [ par AlexTheDoctor ]
Bonjour à tous!! Voilà je débute en php, et j'ai un petit soucis. J'ai 2 pages "login.php" et "index.php" (qui comprend un menu à droite). Je rentre
menu php avec sécurité et gestion de doirts [ par patric1014 ]
bonjour, SVP j'ai besoin d'aide d'urgence je suis débutant en php POO et je travail sur une application et je devais faire un systeme t'authentificati
probleme d'instance de classe [ par gretata ]
bonjour a tous !! j'ai un problème au niveau des objets en PHP, je ne comprend pas bien comment ils fonctionnent. j'essai de faire un get sur un obj
wml et php [ par aksegaly ]
En faite je veux acceder o fochier login.php apres validation ,mais il se trouve que le programme m'affiche la page d'acceuil...
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
SYSTEME D'AMISYSTEME D'AMI par moza2409
Cliquez pour lire la suite par moza2409
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|