Meta-Dark Posté 21 Avril 2009 Posté 21 Avril 2009 (modifié) Bonjour, Me voila pour mon second message sur le forum, non plus pour me présenter mais pour demander de l'aide sur une fonction qui pourtant présente de grands intérêts. Situation : Un visiteur veut jouer à mon jeu de Dé. Il dispose pour cela de 3 parties par jour, rechargées a 0h00 tous les jours. Problème : Comment dire a ma base de données "à minuit, tu remet tous les compteurs de partie a 3" ? Je planche dessus depuis quelques dizaines de minutes. Mais si jamais je trouve la solution avant vous, je vous en ferait part. Merci de votre aide ! Meta-Dark Modifié 21 Avril 2009 par Meta-Dark
captain_torche Posté 21 Avril 2009 Posté 21 Avril 2009 Plutôt que de faire ça, tu peux tout simplement compter le nombre de parties jouées ce jour par un de tes membres. Il suffit qu'à chaque partie, tu enregistres la date et l'heure dans un champ datetime en SQL, et tu peux faire une requête de ce genre : SELECT COUNT(*) FROM parties WHERE DATE(champ_date) = CURDATE() AND id_utilisateur = 'id_utilisateur' Tant que ce nombre est inférieur à 3, tu permets à tes utilisateurs de jouer.
Meta-Dark Posté 21 Avril 2009 Auteur Posté 21 Avril 2009 La structure de ma BDD ne me permet pas de créer une table rien que pour les parties. Je vais souvent trifouiller dedans (oui je sais, normalement on devrait pas avoir besoin d'entrer dans sa BDD comme ça !). J'ai trouvé une alternative, qui remet les parties 24h après la dernière connexion du joueur SI celle ci lui a permis de récupérer des parties. if(time() - $_SESSION['tsderniereco'] > 86400) { $_SESSION['partiesPoM'] = 10; $temps = time(); mysql_query("UPDATE personnage SET `tsderniereco` = '$temps', `partiesPoM` = '$partiesPoM' WHERE `nom` = '$nom'") or die(mysql_error()); } Le second problème qui s'est posé m'a paru plus facile a résoudre. Le jeu étant en javascript, il proposait au joueur de refaire une partie. J'ai transformé une variable PHP en javascript pour décrémenter la variable dans mon code javascript. Ensuite, a la fin de la partie on recharge une page en transmettant les variables comme ceci : window.location.replace('?page=PlusOuMoins&points=' + points_gagnes +'&parties=' + cpt + '&score=' + best_score + '&rest=' + parties + '&difficulte=' + difficulte); la page affichée donne le résultat de la partie, retire un certain nombre de parties selon la difficulté choisie, crédite de l'or en fonction du nombre de parties jouées et du meilleur score Par contre, depuis mon domaine http://metadark.fr/ l'URL ne se colle pas au bout (heureusement), mais si on prend le domaine d'origine (http://pascal.miranda.free.fr/) et bien la méthode GET fait que l'on peut modifier les variables pour s'ajouter autant d'or que l'on veut. Y'a t-il une solution pour passer les variables par la méthode POST ? J'ai pensé a un formulaire caché mais je ne vois pas comment faire. Je vais chercher, mais si vous avez une solution faites moi signe Je te remercie quand même pour ton aide captain
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant