Menu
EtoileAbonnementRSS
jeuxvideo.com  /  Tous les forums  /  Forum principal Informatique  /  Forum Création de sites web  / 

Topic Parsing dynamique en PHP ?

Sujet : Parsing dynamique en PHP ?

1
Gokulekheyou
Gokulekheyou
MP
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
MP
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.

Gokulekheyou
Gokulekheyou
MP
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
MP
08 octobre 2019 à 11:55:08

Fais de l'AJAX si tu veux pas rediriger

-Guilome-
-Guilome-
MP
09 octobre 2019 à 15:48:01

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

Gokulekheyou
Gokulekheyou
MP
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
MP
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.

1
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

Boutique
Luigi's Mansion 3 Amazon 44,49€
Pokémon Epée Amazon 46,99€
Pokémon Bouclier Amazon 46,99€