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 COMPLET


Information sur la source

Catégorie :Divers Classé sous : changer, compte, membre, pseudo, supprimer Niveau : Débutant Date de création : 05/06/2006 Date de mise à jour : 22/06/2006 18:36:35 Vu / téléchargé: 12 592 / 2 124

Note :
6,88 / 10 - par 8 personnes
6,88 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Ceci est mon premier code fait en partie par moi !!! J'espère que les plus fort pourront corriger mes fautes !!!
Ce code sert à changer le pseudo, le mot de passe ou bien sert à supprimer le compte de l'utilisateur !!!
Le mot de passe est haché en md5 pour plus de sécurité !!!

CE SCRIPT EST LA POUR AIDER LES DEBUTANTS A FAIRE UN ESPACE MEMBRE COMPLET !!!
 

Source

  • Voici la table dans sa version 1.2 :
  • CREATE TABLE membre (
  • id int(20) NOT NULL AUTO_INCREMENT default '',
  • login varchar(30) NOT NULL default '',
  • pass_md5 varchar(40) NOT NULL default '',
  • rang enum('1','2','3') NOT NULL default '1',
  • activ enum('oui','non','banni') NOT NULL default 'non',
  • UNIQUE KEY (id)
  • UNIQUE KEY (login)
  • ) TYPE=MyISAM;
  • Je vais aussi rajouter un petit fichier qui servira a inscrire le premier membre comme administrateur.
Voici la table dans sa version 1.2 :
CREATE TABLE membre (
    id int(20) NOT NULL AUTO_INCREMENT default '',
    login varchar(30) NOT NULL default '',
    pass_md5 varchar(40) NOT NULL default '',
    rang enum('1','2','3') NOT NULL default '1',
    activ enum('oui','non','banni') NOT NULL default 'non',
    UNIQUE KEY (id)
    UNIQUE KEY (login)
) TYPE=MyISAM;

Je vais aussi rajouter un petit fichier qui servira a inscrire le premier membre comme administrateur.

Conclusion

Ce code sera peut-être mise à jour suivant s'il existe des bugs (fort probable) !!! Dans le zip se trouve 2 versions que j'ai expliqué dans le fichier lisez-moi !!!

J'attend vos commentaires, et j'espère que cette source répondra à vos attentes !!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Profil
    • Lisez-moi.txtTélécharger ce fichier [Réservé aux membres club]Voir ce fichier509 octets
    • Version 1.1.zipTélécharger ce fichier [Réservé aux membres club]8 581 octets
    • version1.0.zipTélécharger ce fichier [Réservé aux membres club]6 520 octets

Télécharger le zip

Historique

05 juin 2006 21:14:35 :
5/06/06 Une mise à jour devrait arriver d'ici 1 mois avec une partie admin !!! (elle arrivera beaucoup plus tard si je ne la finie pas avant juillet)
22 juin 2006 18:36:36 :
22/06/06 - Je change le nom de ce script car il devient un vrai espace membre complexe. Au passage, la version 1.2 devrait arriver vers le 1er juillet (mise en zip et présentation à faire).

Commentaires et avis

signaler à un administrateur
Commentaire de mickbad le 05/06/2006 18:50:28

Salut,

je n'ai pas encore regardé le code, juste la création de le table Membre :
CREATE TABLE membre (
    id int(11) NOT NULL auto_increment,
    login text NOT NULL,
    pass_md5 text NOT NULL,
    PRIMARY KEY  (id)
) TYPE=MyISAM;

Une remarque est qu'il serait judicieux d'ajouter un champ de validation du compte et un autre (facultatif) indiquant qu'il est supprimé.

Pourquoi ?

Imagine un instant que ta table serve pour des commandes de produits. Il y a une commande qui fait référence à cet utilisateur (info livraison ...). L'utilisateur décide de supprimer son compte. Si ta base de données est bien faîte (et que cela soit possible), il y aura une erreur d'intégrité car le compte est référencé sur une commande. Dans le cas où il y a aucune contrainte d'intégrité, lorsque l'admin voudra pour une raison ou une autre voir les commandes passées, il y aura au pire une erreur et au mieux des données vides ou invalides.

Peu importe la solution choisie pour éviter les erreurs il va y avoir des pertes d'information et de certains historiques.

Je sais que le code est destiné pour des débutants, mais justement, autant à aller plus loin, non ?

M'enfin juste en passant par là et voyant la structure de la base et puis une validation sur un compte c'est TRES utile dans beaucoup cas de figure :)

Bonne continuation,
.Mick.

signaler à un administrateur
Commentaire de Bartheleway le 05/06/2006 21:12:01

Merci de ton commentaire, mais le problème c'est que je suis moi-même un débutant !!! J'ai donc créé cet espace grâce à d'autre code (plus mon grain de sel) !!!
Cet espace sert pour mon site web, qui est le site d'une alliance d'un jeu !!! Il n'y a donc pas de suivi !!! Donc pas d'utilité (surtout j'y avais pas pensé) !!!
J'ai par contre un doute sur le bon fonctionnement de ma page profil et de ma page validation (je les ai pas testé) !!!

signaler à un administrateur
Commentaire de Naixn le 06/06/2006 10:52:40

L'abus de '!!!' est mauvais pour la crédibilité et la langue française :p
( c'était juste pour embêter :p )

signaler à un administrateur
Commentaire de Franquito le 06/06/2006 23:16:05

Tu dis que ce code est fait en partie par toi... Ah bon ? le html ?

Car moi je reconnais tout a fait le "comment faire Un espace membre" copié collé du site (trés bon soit dit en passant) LePHPFacile.com !!!

Et je trouve ca dommage que tu ne le mentionne pas, pire que tu te l'approprie.

signaler à un administrateur
Commentaire de Bartheleway le 10/06/2006 00:03:48

Oui, il est vrai que j'ai pris comme base ce site. Mais il est vrai aussi que je l'avais un peu oublié car il me semblait que :
- 1 j'avais trouvé le code ici
- 2 après avoir travaillé sur la page profil comme un dur les pages de connexion et autre était annexes

M'approprier la propriété de quelqu'un je crois que tu abuse largement !!! Car le plus gros du travail fait dans cette source est la page PROFIL et la VALIDATION par e-mail de l'administrateur  (que j'ai fait seul et en copiant une ligne à droite à gauche + les conseils). Mais il semblerai que tu ne soit pas de mon avis et que les pages de connexions soit très important même s'il en existe 100 fois plus que des pages PROFIL et VALIDATION par e-mail de l'admin !!!

P.S : La table membre je l'ai retapé tout seul (DSL si c'est une copie conforme). Merci de ton commentaire j'ai pu essayé de corrigé un problème sans grand succès masi ça m'a aidé !

signaler à un administrateur
Commentaire de Antidote le 13/06/2006 00:46:27

Je n'ai pas regarder ta source. Mais au vu de la table laissé dans le premier commentaire je dirai qu'il manque un champ contenant le mot de passe en clair. Pourquoi ?

Comment renvoies-tu le mot de passe perdu par un de tes users ?
Si tu te dis je les laisse remettre un nouveau mot de passe uniquement par le pseudo qu'il rentre tu te feras écraser ta base par un petit malin qui tentera de changer les mots de passe pour des centaine de pseudo.
Si tu comptes les changers toi même, tu vas galérer en maintenance.

Moi personnelle j'utilise un champ crypter md5 et un champ avec le passe en clair. pour l'identification j'utilise le md5 car il est en liaison direct avec un formulaire. pour le second je revoie par email (donc je stocke aussi l'email) le mot de passe en clair.

C'est pas le plus sécurisé (puisque les mails transite en clair), puisque celui qui prend possession d'un pc a généralement accès a sa boite mail donc se fait renvoyé ses password. Mais c'est déjà un bon début.

Un flag pour savoir si un compte est ouvert ou fermé est bon. une date pour savoir quand à été crée le compte, une seconde date pour connaitre sa dernière connexion. Ceci permet de mesurer l'inactivité d'un compte par exemple.

Tu devrai faire sauter l'id et mettre plutot le login en clé primaire, si tu souhaite gardé l'id met le login en clé unique pour que deux utilisateurs n'est pas le même login et potentiellement le même mot de passe. sinon qui est qui et qui se logue sur qui ?

PS : garde toujours un moyen de contacter tes users, généralement par l'email ou le téléphone ou l'adresse postale. mais attention pas de mailing liste abusive etc ^^

voilà en espérant pas forcément que tu me suives mais que ça te donne des idées =)

@plus

signaler à un administrateur
Commentaire de Antidote le 13/06/2006 01:01:53

PS si tu compte faire un autologin avait un cookie qui contiendrai l'identifiant de ton user pour le reconnaitre.

Ne met surtout pas l'identifiant de l'utilisateur en clair dans le cookies sinon tu te fera pirater tout tes comptes clients par un petit malin qui simulera des cookies en mettant l'identifiant qu'il souhaite. avec une bonne machine en php tu peux ainsi rentré dans 50 000 comptes changer leur mot de passe en moins d'une heure.
Voilà comment on tue un site.

Donc si tu dois mettre l'id de l'utilisateur dans un cookie, accole lui une signature numérique unique que tu pourras vérifiée par la suite.

exemple pour le client avec l'id 178 :

$id = 178;
$signature = $id.'_'.md5('Un texte qui sert à signé mon cookie'.($id + 1500));

ce qui de donne un truc du genre 178_sdf65g4635qert31321qzSgqe1QZTQae

sur ton site quand tu reçois un cookie d'autologue tu procède de la sorte :

$cooki = $_COOKIE['autolog']; // vaut 178_sdf65g4635qert31321qzSgqe1QZTQae
list($id, $signature) = explode('_', $cooki, 2);
if ($signature == md5('Un texte qui sert à signé mon cookie'.($id + 1500))) {
// ce cookie est valide je peux loguer ce client
} else {
// cookie invalide je peux jeter ce client qui me semble pas etre honnete.
}

Voilà désolé j'écris tout ça à la va vite. donc ça peux ne pas etre clair, je repasserai demain soir voir après le boulot et des heures de codes php encore écrites ^_^.



signaler à un administrateur
Commentaire de Bartheleway le 15/06/2006 18:51:19

Merci de ton avis ! Je pense que je metterai le pseudo et l'id unique car il est vrai que sinon n'importe qui peut pirater le compte. Le champ pass_md5 contient le mot de passe haché en md5 et il n'y a pas de renvoie de mot de passe par mail (pourrait arrivé un jour). Je suis en plein dans la programmation de la partie administration et je rajoute un champ à la base de données pour faire des rangs ! Je passe aussi à une méthode plus simple pour configurer les paramètres de connexion (include)!

Dans la version 1.3 devrait se trouver donc une nouvelle table SQL, une page admin, une page modo, une page de paramètre de connexion à la BDD, une page de vérification du rang, une page des pages de redirection en cas d'erreur !!! Donc du travail en percpective qui devrait se faire avant fin juillet (du moins je l'espère).

Dans la version 1.4 devrait arriver le cookie et le renvoie de mot de passe par mail mais cette version n'a pas encore de date de sortie prévu.

Voilà.

signaler à un administrateur
Commentaire de patrick532 le 18/07/2006 21:19:23

bon boulot, continue !

signaler à un administrateur
Commentaire de astuces_jeux le 26/06/2007 19:05:46

Je trouve que c'est un bon code mais ce serait bien d'enlever ton "complet" dans le titre il y a plusieurs autres codes beaucoup plus complet comme les avatars. Les mp, les forums, les membres connecters, les fiches des membres, et plein d'autres choses que tu ne fais pas. Il faudrait ajouter plein de fonctions ou enlever le "complet"

signaler à un administrateur
Commentaire de bloodoogang_cs le 24/12/2007 20:10:09

Tu parles de 1.2 mais y a que la 1.1 qui est mises....

signaler à un administrateur
Commentaire de dededede4 le 12/05/2008 16:47:46 2/10

Erreur
requête SQL:

CREATE TABLE membre(

id int( 20 ) NOT NULL AUTO_INCREMENT default '',
login varchar( 30 ) NOT NULL default '',
pass_md5 varchar( 40 ) NOT NULL default '',
rang enum( '1', '2', '3' ) NOT NULL default '1',
activ enum( 'oui', 'non', 'banni' ) NOT NULL default 'non',
UNIQUE KEY ( id ) UNIQUE KEY ( login )
) TYPE = MYISAM ;



MySQL a répondu:

#1067 - Invalid default value for 'id'


Bonne nuit :D

signaler à un administrateur
Commentaire de Bartheleway le 12/05/2008 23:30:50

Dans ce cas utilise ça :

CREATE TABLE membre(

id int( 20 ) NOT NULL AUTO_INCREMENT,
login varchar( 30 ) NOT NULL default '',
pass_md5 varchar( 40 ) NOT NULL default '',
rang enum( '1', '2', '3' ) NOT NULL default '1',
activ enum( 'oui', 'non', 'banni' ) NOT NULL default 'non',
UNIQUE KEY ( id ) UNIQUE KEY ( login )
) TYPE = MYISAM ;

Je pense que ça marchera.

bloodoogang_cs => Si tu lis tous ce qu'il y a de marqué, tu vois que je prévois de la faire mais qu'elle n'est pas encore faite (2 ans après ça fait long je sais). Mais alors que j'étais en plein en train de bien avancer, j'ai commencé un autre projet qui me prend vraiment beaucoup de temps (un jeu comme E-Univers, pour les connaisseurs). Si j'ai assez de temps, je vais essayer de vous faire une nouvelle version cet été (avec mon expérience de plus de 2 ans de PHP à contribution ^^).

Voilà pour les news.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

probleme requete d'insertion [ par titigrou ] kikou!!j'ai un problème avec une requete d'insertion que voici: $requete = "INSERT INTO reserver VALUES ('".$reqpseudo['pseudo']."','".$_POST['voiture problèe d'espace membre [ par ouga78 ] Salut J'ai un problème, en fait j'ai trouvé un espace membre je sais plus trop où je l'ai modifié et j'ai remarqué qu'il manquait quelque chose: Par e toujours mon espace membre [ par ouga78 ] Bonjour Dans ma base mysql j'ai créé une table membre et un de ses champ est nommé pseudo. J'ai créé un espace membre et j'aimerai que quand les memb Gros problème de session [ par Linuss ] Bonjour à tous, Je viens de finir me zone membre sur mon site http://www.graphic-motion.net et lorsqu'un membre est connécté, et q interdire l'accès page si pas membre [ par cobrachris ] Bonsoir,je voudrais savoir comment faire pour qu'une personne non logué sur le site, ne puisse pas affiché un formulaire pour enregistrer de session problème [ par ouga78 ] BonjourJ'ai un problème, sur mon site il y a un espace membre. Quand le membre est identifié son pseudo s'affiche sur toute les pages du sit Pouquoi ça marche pas??? [ par jcdc ] je voudrais gérer une inscription dans une base MySQL. A chaque saisie je test le mail, et le pseudo pour ne pas faire de doublon. La premiere inscrip Erreur sur script pour espace membre [ par matheo54 ] Bonjour,Je cherche a réaliser un Espace Membre pour mon site internet , je m'y connais pas trop en php du coup j'ai cherché un script sur in espace membre [ par kevinkat ] bonjour à vous tous, voila je cherhce un espace membre sans avoir une obligation de mettre un mail beaucoup d'entres vous ont fait de super espa session membre [ par gabs77 ] bonjour,je suis en train de faire un site avec session en pseudo frame             &n


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.