CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [PHP] Problème rafraichisement

DébutPage précedente
1
Page suivantePage suivante
Pwote Pwote
MP
Niveau 7
30 août 2014 à 01:23:20

Bonjour à tous,
Depuis maintenant presque un ans je suis sur un projet de jeu vidéo par navigateur. Aujourd'hui j'étais en train de crée un système de coffre de clan mais j'ai rencontré un problème que je n'arrive vraiment pas à surmonter.

En effet mon script est sensée trier les valeurs qui ne sont pas correcte, tout fonctionne mais voilà je rafraîchis ma page j'ai la traditionnelle message qui demande si je veux re envoyer le formulaire et là tout est deposer une nouvelle fois dans le coffre même si le joueur n'a pas les ressources.

Voilà du coup j'aimerai savoir si je pouvais contourné ce problème ou peut-être que cela viens d'une erreur dans mon code mais alors je ne la vois vraiment pas :snif:

Ici le code de traitement des données envoyer par le form: http://pastebin.com/68K1KKGF

La page entière (Même si je doute de l'utilité de ce code pour trouver le probléme: http://pastebin.com/DMRQJTzn

LECROU LECROU
MP
Niveau 10
30 août 2014 à 12:06:14

Je pense que tu devrais faire un rafraîchissement force avec la fonction header pour que l'utilisateur ne puisse pas re soumettre lui-même le formulaire et se créer des ressources :fou:

J'ai survolé ton code sur mon téléphone donc je te dis peut-être nimp, si c'est le cas désolé :)

vava740 vava740
MP
Niveau 10
30 août 2014 à 12:22:05

J'ai pas regardé le code, mais si l'utilisateur peut ajouter des items qu'il n'a pas dans le coffre simplement en soumettant une requête, c'est qu'il te manque une étape de vérification.

Tu dois impérativement vérifier que la requête est valide, donc à minima regarder que l'utilisateur possède les items avant de les mettre dans le coffre (et rejeter la requête si ce n'est pas le cas).

Pour le problème du rafraîchissement de page (simplement pour éviter le message ennuyant - ça ne te dispense pas de vérifier que l'utilisateur possède bien les items au préalable), ça se fait en général avec une redirection (l'idée, c'est de ne pas rester sur une page POST).

Pwote Pwote
MP
Niveau 7
30 août 2014 à 20:10:47

Justement c'est ce que je ne comprend pas , j'ai une etape de vérification qui vérifie que les ressources transmises dans le coffre sont >= 0 <= au total des ressources du joueur et que le chiffre est bien un chiffre (Et par la même entier) et pourtant mon programme accepte des truc du genre -100)

vava740 vava740
MP
Niveau 10
31 août 2014 à 10:11:40

Clairement y'a un problème avec ta vérification, mais sans le code c'est difficile à dire.

Pwote Pwote
MP
Niveau 7
31 août 2014 à 13:51:44

Ben il y'est en faite :hap: . Franchement ma vérification je pense qu'elle tiens la route après je peux faire des erreurs mais j'ai beau cherché je trouve vraiment pas.

vava740 vava740
MP
Niveau 10
31 août 2014 à 14:41:49

Que je suis con. :hap:

Du coup pour la verif, tu utilise des OU quand tu veux des ET :

if (is_int($_POST["pins"]) || $_POST["pins"] >= 0 || $_POST["pins"] <= $resource["gold"])

Ici, si $_POST["pins"] est un entier, mais qu'il est inférieur à 0, ou qu'il est supérieur à $resource["gold"], ta condition passera quand même.

En français, ta condition donne « Si pins est un entier ou qu'il est >= à 0 ou qu'il est <= à gold », alors que tu veux « Si pins est un entier et qu'il est >= à 0 et qu'il est <= à gold ».

Pwote Pwote
MP
Niveau 7
31 août 2014 à 15:46:58

OHHHH je dois vraiment être fatigué vraiment une erreur de débutant je suis VRAIMENT désolé de vous avoir fait perdre votre temps avec ça ... Merci beaucoup

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment