|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2006 Messages : 18 ![]() |
(si un sujet similaire existe mettez le lien qui le pointe svp)
voila j'ai résament débuter le php et je dois produire un site avec une gestion simple d'utilisateur(dont un administrateur) et le choix de langue (francais/anglais) toutes les pages doivent posseder: un sommaire (avec un contenu variable) changement de langue recherche login/pass acces a un "espece de petit forum" contact j'ai pensé faire comme table: ->langues : id, langue ->droits : id, droit, lecture, ecriture un visiteur aura que des droit de lecture un inscrits aura lecture + ecriture partiel admin "god-mode" ->pages : id, page, #droit(, meta..). ->textes : #langue, #page, ref, ordre, texte ->utilisateur : id, pseudo, mdp, nom, prenom, mail, #droits vos commentaire svp !! |
|
|
00
|
|
|
#2 | |
![]() Développeur Web Inscription : juillet 2003 Messages : 676 ![]() |
dans langue je ralouterais codelangue (fr, en..) car c'est tres pratique pour la navigation et + facile à retenir
-> index.php?lang=fr Citation:
pour tes pages, je conseillerais de faire une table avec les info générales de pages (communes à chaque langues) et une table avec une entrée par page ET par langue. ça te permettra d'eviter les doublons Sinon, ça m'a l'air bien réfléchi tout ça simple mais efficace
__________________
Articles sur developpez.com - Gestion des exceptions avec PHP5 - Chiffrement et hash en PHP contre l'attaque Man in the middle - Aedituus - Espace membre sécurisé en PHP5 Lithium : ORM ActiveRecord PHP5 extrêmement léger |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2006 Messages : 18 ![]() |
merci pour tes conseils
en faite sa ma donné une autre idee pour la gestion des informations utiliser 2 tables : ***peres definit en faite des groupes sa peut etre des pages, des menus ou juste des groupes peres( codname varchar(64) index, description varchar(64), #right varchar(64) references rights(codmane)) ex : peres("index", "contenu toujours present", "visiteur") peres("sommaire", "sommaire du site", "visiteur") peres("accueil", "page d'accueil", "visiteur") ... peres("admin", "page d'administration de la bdd", "admin") ***fils qui definit le contenu qui est present dans la page pere fils(#langue varchar(64) references langues(codname), #pere varchar(64) references peres(codname), codname varchar(64), order int(3), texte text); ex : fils('fr', 'sommaire', 'accueil',1,'Accueil'') fils('fr', 'sommaire', 'forum',2,'Forum'') fils('fr', 'sommaire', 'media',3,'Média') fils('fr', 'accueil', 'ch_lang',0,'Veuillez choisir votre langue :') fils('en', 'accueil', 'ch_lang',0,'Choice your language :') ...etc sa permet de tout definir ... je crois du sommaire aux contenu des pages en passant par le contenu qui doit etre present dans toutes les pages est-ce que c faisable et si oui est-ce que les table sont bien construites? vos commentaire svp |
|
|
00
|
|
|
#4 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2006 Messages : 18 ![]() |
bonjour tout le monde, je viens de finir de taper ce code et vu que c'est mon premier dans le genre est-ce que vous pouriez me dire si ya des failles ou des truc a changer.
index.php Code :
Code :
|
||||
|
|
00
|
|
|
#5 | ||||
![]() Développeur Web Inscription : juillet 2003 Messages : 676 ![]() |
Code :
-> balise <script> Code :
La place que tu prend pour ecrire ton code n'influencera en rien le perf. Donc exagère le coté espacé, c'est mieux que tout recroquivillé (et les { démarra soit un espace aprés le dernier caractère de la condition if (s'il s'agit d'un if), soit à la ligne du dessous, sous le i du if (ma façon de faire) A qqs polèmiques près, ce sont des normes universelles. Place bien des incolades à tous te if, meme s'il y a qu'une ligne, de temps en temps (rarement j'avoue) ça peu jouer des tours Sur le coté fonctionnel, hormis les js, j'ai rien vu de mauvais. Tu devrais aussi mettre le contenu de la fonction verif_id Un dernier truc, dans ta BDD, pour chaque table place des ID et manipule plutot ceux-ci pour les jointures, car il est plus rapide de faire des opération sur des nombres que sur des varchars, de plus niveau sécurité, ça place un tampon entre l'utilisateur et la BDD exemple au lieu d'appeler index.php?page=accueil , tu aura index.php?page=4 et seul la bdd saura faire la correspondance
__________________
Articles sur developpez.com - Gestion des exceptions avec PHP5 - Chiffrement et hash en PHP contre l'attaque Man in the middle - Aedituus - Espace membre sécurisé en PHP5 Lithium : ORM ActiveRecord PHP5 extrêmement léger |
||||
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2006 Messages : 18 ![]() |
voila la fonction verif_id() (qui s'est transformée en check_id() lol): Code :
j'ai vu souvent des truc du genre :"require file_name.inc"... sa correspond a quoi? Est-ce que c'est embétant d'utiliser des var session pour faire passer la $page et la $lang? Ou au contraire est-ce qu'il faut en abuser Du genre, rajouter une page redir.php qui prend les arguments que l'on veut faire passer (donc en $_GET) et qui les transforme en $_SESSION et qui appel index.php (quand elle a finit de verifier les $_GET et de les transformer en $_SESSION) avec Code :
header("Location: http://localhost/new/index.php"); sa devrait etre tout XD merci pour l'aide !!! |
||
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() |
fait aussi une vérification sur la request pour être sûr que personne n'a fait un OR 1='1' dans le champ password
tu peux le faire avec eregi("OR 1='1' ", $request); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com