CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Parsing dynamique en PHP ?

Pseudo supprimé
Pseudo supprimé 07 octobre 2019 à 16:39:58

Bonjour, je m'entraîne à faire une sorte de système de paiement mais je voudrais que lorsque la page notification.php de mon site change en "Payment success" le script (paiement.php) va voir la page notification et donner des points à un compte utilisateur. Le problème c'est comment faire pour que paiement.php le sache quand le paiement passe en success ?

J'ai pensé à deux choses :

- Faire un sleep(10) pour arrêter mon code le temps que l'état du paiement passe en success puis faire un file_get_content('notification.php') le problème c'est que si il y a une latence qui va au delà du sleep bah le paiement sera refusé alors qu'il a été en réalité effectué.

- Faire une boucle while qui va faire un file_get_content(notification.php) et que tant que $notifmessage != "Paiement success" la boucle va vérifier avec un fgetcontent l'état du paiement.

Le problème pour cette deuxième solution c'est que je ne sais pas si c'est très optimisé de faire ça ? Il n'y a pas un système en PHP qui met le script en suspend et que lorsque une requête est passée vers la page le script se met à jour et continue ?

Merci

zelokoh
zelokoh
Niveau 12
07 octobre 2019 à 18:19:40

Ta logique est pas bonne. Et puis un faire un file_get_content sur ton fichier ne va jamais que te retourner le contenu brut de ton fichier mais ne va pas l'exécuter ou te dire si la variable à l'intérieur a été modifiée (si je comprend bien ce que tu vas faire).

Tu peux tout simplement faire une redirection ou/et utiliser les sessions pour vérifier que le payement a été bien fait.
Ex :

payement validé => redirection sur success.php qui exécute le code en cas de succès.
payement refusé => redirection sur error.php qui exécute le code en cas d'erreur.

Pseudo supprimé
Pseudo supprimé 07 octobre 2019 à 18:27:14

Oui je sais que le file cet content faut le mettre dans un array je l'ai pas affiché pour vous épargner la lecture de mon topic qui est déjà assez longue ^^

Et ce que tu m'a proposé je l'ai déjà fait mais mon objectif avec ce TP que je me suis fixée c'est justement de valider sans redirection ^^

Moi je veux surtout savoir si il existe pas plus optimisé en PHP d'interroger une page lorsque il y a un changement au lieu d'avoir la page qui execute une boucle jusqu'à que la page soi mise à jour ^^

Lucathiel
Lucathiel
Niveau 7
08 octobre 2019 à 11:55:08

Fais de l'AJAX si tu veux pas rediriger

-Guilome-
-Guilome-
Niveau 3
09 octobre 2019 à 15:48:01

Faire ça directement en base de donnée avec un trigger

Pseudo supprimé
Pseudo supprimé 09 octobre 2019 à 18:29:19

Les solutions que vous me proposez ne sont pas opti, en Ajax il faut faire des rafraîchissements de portion de pages or, dans l'idéal j'aimerai justement envoyer une requête à mon script en cours pour qu'il sache que la notification de paiement est arrivé.

Je n'ai pas besoin de système de paiement c'est juste un entrainement pour d'autres projets futurs dans lequel je serai surement amené à faire ce genre de manipulation donc pas que des systèmes de paiement.

TidoDaWiseOlMan
TidoDaWiseOlMan
Niveau 7
10 octobre 2019 à 01:22:46

Non c'est ton raisonnement qui n'est pas bon.

Comme l'a dit quelqu'un plus haut, tu peux appeler ta page paiement.php qui va gérer la partie paiement (imaginons que tu renvoies un succès ou une erreur aléatoirement) et qui te redirige vers une nouvelle page succes.php ou erreur.php.

Je ne vois pas où est le problème. Tu pourrais tout aussi bien le faire en Ajax. Une requête XHR sur une page qui simule le paiement et qui te renvoie une erreur ou non suivant ton scénario. Charge à toi ensuite de traiter cette requête pour altérer ton DOM.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment