begin process at 2010 02 10 03:24:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > ESPACE MEMBRE AVEC PLUSIEURS SORTES D'UTILISATEURS

ESPACE MEMBRE AVEC PLUSIEURS SORTES D'UTILISATEURS


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Class et Objet ( POO ) Niveau :Débutant Date de création :14/01/2005 Vu / téléchargé :18 029 / 3 702

Auteur : yafuka

Ecrire un message privé
Site perso
Commentaire sur cette source (26)
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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip CLASSE POUR CRÉATION D'UN ESPACE MEMBRE
SIMPLE CLASSE UTILISATION BASE DE DONNEES MYSQL
Source avec Zip Source avec une capture EXEMPLE PHP-GTK - GESTIONNAIRE DE CONTACT SIMPLE

 Sources de la même categorie

Source avec Zip POO - LOGGING PACKAGE par Waredan
POO - OBJECT CLASS par Waredan
Source avec Zip POO - FACTORY CLASS par Waredan
POO - SINGLETON CLASS par Waredan
POO - PARAMETERHOLDER CLASS par Waredan

Commentaires et avis

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 ++

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.

Commentaire de Anthomicro le 14/01/2005 20:17:03

Ok ;-)

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é.

Commentaire de yafuka le 20/01/2005 20:40:51

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

Commentaire de Linuss le 18/12/2005 19:33:16

très bon oui ;)

10/10

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();
}

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

++

Commentaire de Linuss le 19/12/2005 12:04:47

merci beaucoup yafuka je connaissais pas :)

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...

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

Commentaire de Linuss le 05/04/2006 17:12:21

surement car tu n'as pas php 5.0 :)

Commentaire de greg03 le 08/04/2006 23:19:31

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

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,

Commentaire de yafuka le 18/07/2006 12:53:04

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

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

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.

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.

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.

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.

Commentaire de joshcom le 17/09/2007 02:48:46

très bon

Commentaire de Edosak77 le 13/12/2007 09:22:35

Question: comment fait on pour ajouter des membres?

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...

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 ! ;-))

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)

Commentaire de Nico313131 le 15/06/2009 11:54:07

salut à tous,

je reste bloquer sur le formulaire et je pense que c'est la fonction crypt le soucis.

# identification
$sql = "SELECT acces FROM membres WHERE pseudo='" . mysql_escape_string($pseudo) .
"' AND passw='" . crypt($passw,"secret") . "'";
$res = mysql_query($sql,$db);
if ( !mysql_num_rows($res) ) {
header("Location: login.php");
die;

Ca dépend de la version de php ?
En fait même si l'utilisateur est créé, il y a retour à la page d 'accueil et si on change login.php par logina.php, on est bien renvoyé sur logina.php.

quelqu'un peu m'aider ??

merci

a++

Nico

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales