JeuWeb - Crée ton jeu par navigateur
POO php - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : POO php (/showthread.php?tid=6691)

Pages : 1 2


POO php - Dark-Slade - 07-03-2013

Bonjour, après avoir appris le php et m'être entrainer, j'ai appris la poo car cette manière de coder offre pas mal d'avantage seulement je ne suis pas sur d'avoir compris le concept alors j'ai quelque question ^^

J'essaie de coder un espace membre en poo et j'en suis a l’inscription, je procède comme cela :
-Une classe membre avec comme attribut : id, pseudo, mot de passe, email, personnage ( il choisit son personnage parmi une liste) et monde ( il choisi un des 3 mondes disponibles) .
Ensuite je fais hérité cette classe pour faire 2 classes "filles" Administrateur et Modérateur qui auront des attribues en plus. De plus lorsque le joueur cliquera sur le bouton "inscription" l'objet membre se créera.

Et là les choses se compliquent, une fois cette inscription faite, il faut que je créer la classe Personnage avec toutes ses caractéristique ( force et autre ...), je créer cette classe à l'inscription ou à la connexion ?

Si par exemple dans mon jeu, il y à trois classe avec des caractéristiques bien distinctes,on suppose que ces 3 classes sont : Guerrier,Archer et Mage . Dois-je créer 3 classe différente ?En faite je pense connaitre la réponse mais c'est pour être sur , je dois bien créer 3 classe ?

Dernière petite question, comment vérifier qu'un pseudo n'est pas pris par un autre membre, je sais qu'il faut interagir avec la bdd mais à vrai dire je n'ai aucune idée de la façon de procéder ...

Je sais que ces questions peuvent paraitre "noob" mais je n'ai jamais créer de jeu et encore moi en poo donc j'ai beaucoup de questions :/

Merci d'avance et bonne journée Smile


RE: POO php - php_addict - 07-03-2013

je ne repondrais pas à tes questions d'architecture de tes classes car je ne me sert de la POO que pour l'encapsulation des functions, et pas d'héritage donc...

(07-03-2013, 02:50 PM)Dark-Slade a écrit : Dernière petite question, comment vérifier qu'un pseudo n'est pas pris par un autre membre, je sais qu'il faut interagir avec la bdd mais à vrai dire je n'ai aucune idée de la façon de procéder ...

euh bah là faut quand même avoir 2 ou 3 notions de langage MySQL... :'(

Code :
SELECT COUNT(id) FROM membres WHERE pseudo = $pseudo";

ACHTUNG! cette requête n'est pas préparée, $pseudo peut contenir du code SQL malicieux...


RE: POO php - Dark-Slade - 07-03-2013

(07-03-2013, 03:08 PM)php_addict a écrit : je ne repondrais pas à tes questions d'architecture de tes classes car je ne me sert de la POO que pour l'encapsulation des functions, et pas d'héritage donc...

(07-03-2013, 02:50 PM)Dark-Slade a écrit : Dernière petite question, comment vérifier qu'un pseudo n'est pas pris par un autre membre, je sais qu'il faut interagir avec la bdd mais à vrai dire je n'ai aucune idée de la façon de procéder ...

euh bah là faut quand même avoir 2 ou 3 notions de langage MySQL... :'(

Code :
SELECT COUNT(id) FROM membres WHERE pseudo = $pseudo";

ACHTUNG! cette requête n'est pas préparée, $pseudo peut contenir du code SQL malicieux...

Arh :cogne: c'était si simple :$ merci beaucoup de ton aide ! Smile


RE: POO php - niahoo - 07-03-2013

fiuuuu fiiiiii fiuu fiuu fiiiii fiuuuuu (musique de X-Files)


RE: POO php - Xenos - 07-03-2013

Note: le mot de passe est stocké en clair dans la classe? Cela me semble délicat niveau sécurisation.

Si tu as trois "trucs" qi sont assez proches les uns des autres (les classes de personnages), alors oui, crée-leur chacun une classe, et fait de cette classe une fille de la classe "Personnage".
Pour le pseudo, on peut trouver plus utile comme requête:

Code :
SELECT id FROM `membres` WHERE `pseudo`='$pseudo'
En prenant les précautions de php_addict.
Ainsi, tu auras l'id de la personne ayant déjà utilisé ce pseudo, et tu pourras récupérer des informations complémentaires, ou instancier un objet "membre" pour ce membre. Tu pourras alors dire à l'utilisateur qui veut s'inscrire que ce pseudo est pris par ce membre (si cela se trouve, ce membre est en fait l'utilisateur qui avait oublié qu'il était déjà inscrit et qui donc, voyant que ce membre correspond à son avatar usuel, sa date de naissance ou autres, se dira "ah, mais je suis déjà inscrit, c'est vrai!".


RE: POO php - Dark-Slade - 07-03-2013

(07-03-2013, 04:08 PM)Xenos a écrit : Note: le mot de passe est stocké en clair dans la classe? Cela me semble délicat niveau sécurisation.

Si tu as trois "trucs" qi sont assez proches les uns des autres (les classes de personnages), alors oui, crée-leur chacun une classe, et fait de cette classe une fille de la classe "Personnage".
Pour le pseudo, on peut trouver plus utile comme requête:

Code :
SELECT id FROM `membres` WHERE `pseudo`='$pseudo'
En prenant les précautions de php_addict.
Ainsi, tu auras l'id de la personne ayant déjà utilisé ce pseudo, et tu pourras récupérer des informations complémentaires, ou instancier un objet "membre" pour ce membre. Tu pourras alors dire à l'utilisateur qui veut s'inscrire que ce pseudo est pris par ce membre (si cela se trouve, ce membre est en fait l'utilisateur qui avait oublié qu'il était déjà inscrit et qui donc, voyant que ce membre correspond à son avatar usuel, sa date de naissance ou autres, se dira "ah, mais je suis déjà inscrit, c'est vrai!".

Le mot de passe sera coder en sha1 sauf si tu as une meilleur méthode à me proposer ?
Merci de ton aide e ce qui concerne la requête pour le pseudo mais je n'ai toujours pas eu ma réponse pour les classes donc je quote ma question :

Citation :J'essaie de coder un espace membre en poo et j'en suis a l’inscription, je procède comme cela :
-Une classe membre avec comme attribut : id, pseudo, mot de passe, email, personnage ( il choisit son personnage parmi une liste) et monde ( il choisi un des 3 mondes disponibles) .
Ensuite je fais hérité cette classe pour faire 2 classes "filles" Administrateur et Modérateur qui auront des attribues en plus. De plus lorsque le joueur cliquera sur le bouton "inscription" l'objet membre se créera.

Et là les choses se compliquent, une fois cette inscription faite, il faut que je créer la classe Personnage avec toutes ses caractéristique ( force et autre ...), je créer cette classe à l'inscription ou à la connexion ?



RE: POO php - Ter Rowan - 07-03-2013

Tu crées la classe quand tu en as besoin

Est ce que lors que je valide mon inscription, j ai créé mon personnage ou est ce après l inscription


RE: POO php - Dark-Slade - 07-03-2013

(07-03-2013, 08:31 PM)Ter Rowan a écrit : Tu crées la classe quand tu en as besoin

Est ce que lors que je valide mon inscription, j ai créé mon personnage ou est ce après l inscription

le personnage est créer a l'inscription, il choisit par exemple "Guerrier" alors il aura ses caractéristiques et le sera tous le temps. Ma question est : Je créer l'objet "Guerrier" à la fin de l'inscription ou à la première connexion ?


RE: POO php - Ter Rowan - 07-03-2013

C est pas la meme chose ? Je dois me connecter après m être inscrit ou bien en validant mon inscription je suis connecté ?

A noter tu utiliseras ta classe a chaque fois que tu auras a manipuler ton personnage ? Est ce que ta question n est pas plutôt quand créer le personnage dans la bdd ?


RE: POO php - Xenos - 07-03-2013

(sha, md5, c'est ok, j'avais juste peur que les passes traînent en clair dans le code Wink)