begin process at 2008 08 20 12:08:31
1 228 786 membres
158 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ESPACE MEMBRE AVEC PLUSIEURS SORTES D'UTILISATEURS


Information sur la source

Catégorie :Class et Objet ( POO ) Niveau : Débutant Date de création : 14/01/2005 Vu / téléchargé: 14 710 / 3 211

Note :
9,1 / 10 - par 10 personnes
9,10 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

Description

Oui, encore un diront certain. ;)
J'ai quand même vérifié avant de poster ma source et je n'ai rien trouvé de semblable.  il s'agit d'un ensemble de classe permettant de gérer les droits dans un espace membre. L'objectiif est surtout de présenter le modèle objet de PHP5. Dans le zip se trouve un exemple d'utilisation de cette classe pour réaliser l'espace membre.
Avec cette classe on peut facilement ajouter de nouveaux types d'utilisateurs.

Source

  • <?php
  • #
  • # Auteur : Kassim Machioudi
  • # Email : yafuka [chez] yafuka.com
  • # Web : http://www.yafuka.com
  • #
  • interface IUser {
  • function estMembre ();
  • function estModerateur ();
  • function estAdmin ();
  • function __toString();
  • }
  • # les membres
  • class membre implements IUser {
  • private $pseudo;
  • public function __construct ( $nick ) {
  • $this->pseudo = $nick;
  • }
  • # un membre peut lire
  • public function estMembre () {
  • return true;
  • }
  • # un membre ne peut pas ecrire
  • public function estModerateur () {
  • return false;
  • }
  • # un membre ne peut pas supprimer
  • public function estAdmin () {
  • return false;
  • }
  • public function __toString () {
  • return "Membre";
  • }
  • }
  • # les moderateurs
  • class moderateur extends membre {
  • private $pseudo;
  • public function __construct ( $nick ) {
  • $this->pseudo = $nick;
  • }
  • # un moderateur peut ecrire
  • public function estModerateur () {
  • return true;
  • }
  • public function __toString () {
  • return "Modérateur";
  • }
  • }
  • # les administrateurs
  • class administrateur extends moderateur {
  • private $pseudo;
  • public function __construct ( $nick ) {
  • $this->pseudo = $nick;
  • }
  • # un moderateur peut ecrire
  • public function estAdmin () {
  • return true;
  • }
  • public function __toString () {
  • return "Administrateur";
  • }
  • }
  • function creerObjet ( $acces, $pseudo ) {
  • # tous les acces possibles
  • $table_acces = array(1 => "membre", 2 => "moderateur", 3 => "admin");
  • # on return null si l'acces n existe pas
  • if ( !array_key_exists ( $acces, $table_acces ) ) {
  • return NULL;
  • }
  • # quel type de membre ?
  • switch ( $acces ) {
  • case 1: return new membre ( $pseudo );
  • case 2: return new moderateur ( $pseudo );
  • case 3: return new administrateur ( $pseudo );
  • }
  • die;
  • }
  • ?>
<?php

	#
	#	Auteur 	: Kassim Machioudi
	#	Email	: yafuka [chez] yafuka.com
	#	Web	: http://www.yafuka.com
	#

	interface  IUser {
		function estMembre ();
		function estModerateur ();
		function estAdmin ();
		function __toString();
	}

	# les membres
	class membre implements IUser {
		private $pseudo;

		public function __construct ( $nick ) {
			$this->pseudo = $nick;
		}

		# un membre peut lire
		public function estMembre () {
			return true;
		}

		# un membre ne peut pas ecrire
		public function estModerateur () {
			return false;
		}

		# un membre ne peut pas supprimer
		public function estAdmin () {
			return false;
		}

		public function __toString () {
			return "Membre";
		}
	}

	# les moderateurs
	class moderateur extends membre {
                private $pseudo;

                public function __construct ( $nick ) {
                        $this->pseudo = $nick;
                }

                # un moderateur peut ecrire
                public function estModerateur () {
                        return true;
                }

		public function __toString () {
			return "Modérateur";
		}
        }

	# les administrateurs
	class administrateur extends moderateur {
                private $pseudo;

                public function __construct ( $nick ) {
                        $this->pseudo = $nick;
                }

                # un moderateur peut ecrire
                public function estAdmin () {
                        return true;
                }

		public function __toString () {
			return "Administrateur";
		}
        }

	function creerObjet ( $acces, $pseudo ) {
		# tous les acces possibles
		$table_acces = array(1 => "membre", 2 => "moderateur", 3 => "admin");
		
		# on return null si l'acces n existe pas
		if ( !array_key_exists ( $acces, $table_acces ) ) {
			return NULL;
		}

		# quel type de membre ?
		switch ( $acces ) {
			case 1: return new membre ( $pseudo );
			case 2: return new moderateur ( $pseudo );
			case 3: return new administrateur ( $pseudo );
		}
		
		die;		
	}
?>

Conclusion

Version 5.0 de PHP nécessaire
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Anthomicro le 14/01/2005 17:52:54

    Salut ;-)

    C'est vraiment pas mal ;-)

    par contre que vient faire le  "die;" à la fin ?

    10/10 ;-)

    a ++

  • signaler à un administrateur
    Commentaire de yafuka le 14/01/2005 20:14:01

    on n'est jamais trop sûr, je m'assure juste que le script s'arrête au cas où les redirections ne sont pas faites.

  • signaler à un administrateur
    Commentaire de Anthomicro le 14/01/2005 20:17:03

    Ok ;-)

  • signaler à un administrateur
    Commentaire de eXon le 20/01/2005 02:06:58

    Petit erreur dans les commentaires.  Dans la class administrateurs:
                    # un moderateur peut ecrire
                    public function estAdmin () {
                            return TRUE;
                    }
    Ça serait plutôt un administrateur peut supprimé.

  • signaler à un administrateur
    Commentaire de yafuka le 20/01/2005 20:40:51

    Effectivement, j'ai été victime du Copier / coller ;)

  • signaler à un administrateur
    Commentaire de Linuss le 18/12/2005 19:33:16

    très bon oui ;)

    10/10

  • signaler à un administrateur
    Commentaire de Linuss le 18/12/2005 19:50:42

    par contre je n'ai pas trouvé de doc sur "interface"... quelqu'un pourrait m'aider svp? :)
    merci

    ps : cf ici :

    interface  IUser {
    function estMembre ();
    function estModerateur ();
    function estAdmin ();
    function __toString();
    }

  • signaler à un administrateur
    Commentaire de yafuka le 18/12/2005 23:54:07

    Doc pour les interfaces:
    http://www.php.net/manual/fr/language.oop5.interfaces.php

    Dos sur les objets en PHP5:
    http://www.php.net/manual/fr/language.oop5.interfaces.php

    ++

  • signaler à un administrateur
    Commentaire de Linuss le 19/12/2005 12:04:47

    merci beaucoup yafuka je connaissais pas :)

  • signaler à un administrateur
    Commentaire de guiflo le 03/03/2006 16:55:31

    Je voudrais savoir comment on fait pour inscrir un administrateur je ne sais pas du tout où il faut faire cela...

  • signaler à un administrateur
    Commentaire de sylver_overide le 05/04/2006 12:43:15

    j'ai essayer ce script et je n'arrive pas a le faire marché j'ai des erreur a la page class.bd.php

    voila l'erreur

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home.2/p/h/d/phdistri/www/0.2/inc/class.db.php on line 12

    voila la ligne

    private static $ident = NULL;

    ps : je n'est rien touché au script je les installer et rien ne marche j'aimerais bien avoir un coup de main si possible merci a vous

  • signaler à un administrateur
    Commentaire de Linuss le 05/04/2006 17:12:21

    surement car tu n'as pas php 5.0 :)

  • signaler à un administrateur
    Commentaire de greg03 le 08/04/2006 23:19:31

    mais ces ou qu'on mest nos coordoner pour la base mysql.

  • signaler à un administrateur
    Commentaire de math2006 le 17/07/2006 12:42:28

    salut à tous,
    je vient juste d´essayer le code et j´obzient les erreurs suivantes:
    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in d:\easyphp1-7\www\factoryp\inc\class.db.php on line 12

    Parse error: parse error, unexpected T_STRING in d:\easyphp1-7\www\factoryp\inc\class.membres.php on line 9

    Fatal error: Undefined class name 'db' in d:\easyphp1-7\www\factoryp\auth.php on line 29

    je n´ai naturellement rien changé du code.
    pouriez vous me dire se cloche?
    Merci,

  • signaler à un administrateur
    Commentaire de yafuka le 18/07/2006 12:53:04

    Apparament, tu ne sembles pas avoir la version 5 (ou supérieure) de PHP.

  • signaler à un administrateur
    Commentaire de speedylol le 21/08/2006 17:21:25

    bonjour y a t'il moyens de changer pour le faire fonctioner en php' svp

  • signaler à un administrateur
    Commentaire de millinet le 03/01/2007 15:47:55

    Code excellent pour ceux qui souhaitent se mettre à l'objet en tout cas, je dirais juste un bémol pour les commentaires, mais merci mille fois.

  • signaler à un administrateur
    Commentaire de shidame le 16/03/2007 18:11:51

    Trés bonne source, juste un détail pour peu être optimiser :
    A la place de ca
    switch ( $acces )
    {
        case 1: return new membre ( $pseudo );
        case 2: return new moderateur ( $pseudo );
        case 3: return new administrateur ( $pseudo );
    }
    metre ca
    return new $table_acces[$acces] ($pseudo);

    il me semble que c'est possible.

  • signaler à un administrateur
    Commentaire de astuces_jeux le 26/06/2007 19:11:56

    Oui c'est génial. Mias si tu voulais rajoute encore opérateur comme sorte de membre.

  • signaler à un administrateur
    Commentaire de val_micro le 04/09/2007 16:10:52

    salut à tous,
    J'ai tout mis en place avec mes codes de connection à ma base... Mon problème est un truc débile, quel mot passe et identifiant faut-il utiliser? seux qui sont dans la base (ou sont-il cripté?) parce que même lorsque je crais un nouveau pseudo et mot passe et que je les rentre dans mon espace d'acces rien ne se passe je reste bloqué au formulaire et je ne vois pas pourquoi.

    merci d'avance.

  • signaler à un administrateur
    Commentaire de joshcom le 17/09/2007 02:48:46

    très bon

  • signaler à un administrateur
    Commentaire de Edosak77 le 13/12/2007 09:22:35

    Question: comment fait on pour ajouter des membres?

  • signaler à un administrateur
    Commentaire de florian2a le 02/05/2008 10:51:30

    Très très bon script mais je n'ai pas trouvé comment ajouté des membres...

  • signaler à un administrateur
    Commentaire de jadu le 12/05/2008 15:20:48

    YAFUKA est un super programmeur ? ou c'est juste un amateur ?
    c'est juste parce que je n'ai pas envie de tester si c'est pas un super-bon ! ;-))

  • signaler à un administrateur
    Commentaire de Gotha574 le 15/08/2008 00:47:15

    Pour ajouter un membre,

    Exécuter ceci :

    INSERT INTO `membres` VALUES (4, 'PSEUDO', 'MOT DE PASSE', 3);# Nombre d'enregistrements affectés : 1
    # Nombre d'enregistrements affectés : 1

    ***************************************************************************
    4 est le n° du membre, c'est le quatrième.
    3 est le rang du membre, (1 = membre, 2 = modo et 3 = admin)

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS