Achats de troupes - 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 : Achats de troupes (/showthread.php?tid=5012) |
Achats de troupes - vulcain - 24-07-2010 Bonjour, Je voudrai savoir comment faire lorsque je récupère $_POST['achat'], je fais pour enlever X ressources au joueurs, mettre à jour dans la BDD avec ses troupes supplémentaires et lui dire qu'il n'a pas assez de sous si c'est le cas. J'ai 100 000 gold, je possède 50 gobelins, sachant qu'un gobelin coûte 15 000 gold et que je veux en acheter 1. Je vais donc sur ma page "caserne" là où on peut les former, je rentre 1 pour en acheter 1. Je fais recruter, et là ça doit me renvoyer sur la même page me disant que j'ai bien acheter $_POST['achat'] gobelins, donc si j'en n'achète un je devrai en avoir 51. Comment faire ? Merci de votre aide, Bonne journée RE: Achats de troupes - Joojo - 24-07-2010 Code PHP :
Voilà en gros. RE: Achats de troupes - vulcain - 24-07-2010 Ok merci, Donc là j'ai fait un petit script en partant de la base du tien. J'ai donc crée une table troupes pour le moment j'y ai mit : -ID -Pseudo -Gold Maintenant, voici mon script : Code PHP :
Dîtes moi si je dois changer quelques choses ou bien l'améliorer. RE: Achats de troupes - Joojo - 24-07-2010 Je crois que empty et null vérifie la même chose, peut être une condition à supprimer. Plutôt une condition if (isset)) puis if(!=NULL). Des parenthèses seules et concaténation inutile dans tes variables, ton script ne va pas fonctionner là. Ici tu peux te prendre une injection SQL ta variable pseudo n'est pas du tout protégée et je te conseille d'utiliser les sessions pour transmettre l'id et le login si besoin. Protège protège les données qu'envoie le joueur! (avec les requêtes sql préparées plus besoin) les commandes mysql_query etc.. deviennent obselétes, la PDO parait que c'est l'avenir, va lire les tutos du sdz la dessus RE: Achats de troupes - Colmea - 24-07-2010 Salut, Perso je pense au contraire que empty et null ne vérifient pas la même chose. empty = '' null = NULL et je partage l'avis de Joojo quand à mysql_query Demandons quand même l'avis des pros du forum RE: Achats de troupes - vulcain - 24-07-2010 Merci pour vos conseils, mon script fonctionne. ^^ RE: Achats de troupes - wildd - 24-07-2010 pas besoin du select. UPDATE SET gold= gold - $cout WHERE pseudo='".$pseudo."' AND gold >= $cout"); UPDATE membres SET gobelins= gobelins + $gobelinsAchetes WHERE pseudo='".$pseudo."'" testes naturellement tes retour de mysql_query (pr savoir si l'update de gold échoue ou n'affecte aucune ligne, histoire de pas faire la mise à jour du nombre de troupe, tu aurais l'air malin d'offrir gratuitement des troupes) |