Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - 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 : Ajouter un point de compétence (exemple simpliste, juste pour comprendre) (/showthread.php?tid=4530) |
Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - R-transat - 13-01-2010 Bonsoir, Je suis en train de faire un code (le strict minimum pour comprendre d'avantage le fonctionnement d'ajout de point de compétences). Donc j'ai ceci : Code PHP :
Ma table : force------sante------total_point-----max_point 4----------3----------10-------------20 Ce que je voudrais faire c'est par exemple lorsque l'on clic sur le + ajouter le point de santé ou de force. Faut il utiliser le méthode GET (j'ai peur au niveau de la sécurité comment cela se passe, si la personne ajoute l'url à chaque fois et qu'il ajoute des points comme ça, ou alors une condition dans la confition if du GET qui ferait une comparaison de nombre) Ou sinon solution javascript, mais je ne maitrise pas du tout. Je vous écoute pour mieux comprendre le fonctionnement de ceci Merci d'avance. RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - php_addict - 13-01-2010 pas tres clair ton truc... de totues facon des que tu passe un parametre en GET ou en POST il faut le verifier avant traitement car que se soit les POST ou les GET il sont modifiable tres facilement...(documentes toi sur les envois de requetes http...) et le javascript je vois pas bien ce que tu peut faire avec ! php/SQL --> executé coté serveur javascript -->executé coté client (sur ton ordi quoi...) RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - R-transat - 13-01-2010 En disant javascript je pensais pour le coupler avec PHP Eviter un refresh de la page par exemple, donc AJAX pour le traitement des données. En gros ce que je vais c'est quand je clic sur le lien + (voir script plus haut) on ajoute un point de compétence sur les 10 disponibles (voir table) donc la force sera incrémenté de 1 et les points restant passera à 9, donc UPDATE mais c'est comment traiter le fait de cliquer sur le + en étant sécuriser pour ne pas faire F5 pour augmenter toujours de 1 ? RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - Ekilio - 13-01-2010 Pourquoi ne pas séparer ? D'abord, le joueur choisi l'endroit où il réparti ses points de compétences. Donc, il fait ses +, et javascript change uniquement l'affichage, histoire de faire joli. Ensuite, lorsqu'il a choisi, il valide. Là, tu reçois les différentes valeurs qu'il veux changer (il suffit de placer des input type=hidden pour les transférer proprement et facilement), tu additionnes, et si c'est inférieur à 10, bingo, tu effectues le changement. D'une part, coté joueur c'est rapide (pas de rafraichissement de page), d'autre part c'est facile à sécuriser (même si ce n'est pas 10, comparer deux nombres c'est simple :p ), et enfin ça permet de ne faire qu'une seule requête SQL, et donc d'optimiser le tout. RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - My Hotel - 13-01-2010 Y'a un truc que je ne comprends pas : ta page est censée être utilisée quand? 1 fois l'inscription, à chaque lvl up? Détaille un peu. Il suffit de cliquer sur +, si oui, combien de fois maximum sont autorisées... Par exemple, si tu le fais une fois à la création de perso, au début toutes les compétences sont à 0. Ton script vérifie que les compétences sont à zéro, et fait l'update, sinon c'est que le perso a déja été créé. Mais si tu veux le faire dans d'autres circonstances c'est différent. Précise Bye P.S : Sinon, effectivement, POST et GET c'est pas différent au niveau de la sécurité (cherche Tamper Data ), par contre POST donne des URL plus jolies que GET, surtout quand il y'a beaucoup de paramètres. RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - Anthor - 13-01-2010 Avant de vouloir passer par Ajax, il faudrait déjà comprendre la base je pense. Pour éviter que ça dépasse, tu conditionnes juste entre la valeur minimale et la valeur maximale possible. RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - R-transat - 13-01-2010 On gagne les point lorsque l'on accomplie des quêtes mais là j'ai vraiment grossi le truc pour l'exemple RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - Anthor - 13-01-2010 Et alors ? Ça ne change strictement rien à la manière de faire. RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - R-transat - 13-01-2010 Oui je sais ^^ mais c'est au niveau de la sécurité . Je vais essayer avec la méthode POST avec un champ caché. Et pour la javascript je verrai plus tard. PS : Je me suis inscris sur ton jeu (plutôt votre jeu, vous êtes deux il me semble) et j'aime assez le principe, ça ressemble à battle-pingouin en moins complet mais en plus jolie RE: Ajouter un point de compétence (exemple simpliste, juste pour comprendre) - Zamentur - 13-01-2010 Ben tu peux déjà le faire avec la méthode GET et un système de clé unique donné à chaque démarrage de session (en évitant d'utiliser celle de la session). Ce sera déjà bien. Après il faut effectivement vérifier les entrées. Tu peux aussi utiliser un formulaire pour faire une méthode POST de façon à ne pas mettre par exemple id dans ton lien pour l'action d'attaque. Enfin, fait attention au problème du refresh; sépare bien l'action de l'affichage en utilisant la fonction header() |