Bonjour à tous,
J'ai une application programmé en PHP qui propose un choix de type de problème à l'utilisateur qui contient 5 boutons, lorsque l'utilisateur clique sur un des bouton, un email s'envoie instantanément. Ce que je veux moi ce que je veux envoyer un email mais après 5 minutes par exemple. Je veux que le problème persiste pour qu'il envoie un email.
Veuillez répondre à ma demande SVP et si vous avez besoin de plus d'information je suis là
Marsh
NOVEMBER 9, 2013 AT 9:15 PM
Bonjour,
ReplyL'utilisateur clique ... et après ? Ca envoie le message tout seul au bout de 5 minutes ?
Et si le problème n'existe plus .... il s'envoie quand même ?
Sinon.. comment sait-on si le souci existe encore ou pas et si le message doit s'envoyer ???
Ne peux tu simplement pas faire en sorte que : (en javascript )
- La personne clique sur le bouton
- Un settimeout de 5 minutes se lance
- Au bout des 5 minutes, une fenêtre modale ( ou popup) s'ouvre et demande si il confirme l'envoie
- Si il clique sur oui.. ça "submit" ton formulaire pour faire l'envoie du mail.
Par contre... que se passe t-il si l'utilisateur ferme la fenêtre entre son premier clique et le second ?? là le mail ne sera pas envoyé...
Bref.. il faudrait bien reflechir au mécanisme que tu souhaites mettre en place avant d'essayer de coder quoi que ce soit.
A mon avis.. ce n'est pas encore bien défini dans ta tête ou alors tu n'as pas sû nous le retranscrire dans ta demande...
réponses:
auteur on 12 juil. 2018 à 17:17
Tout d'abord merci de ta réponse,
Non c'est bien détaillé dans ma tête mais j'ai pas bien expliqué la situation comme je voulais.
Donc l'utilisateur clique sur un bouton, une autre page apparaît afin d'acquitter le problème, si le problème persiste dans 5 minutes il faut informer par email la personne concerné par ce problème.
Je veux faire ça afin de ne pas nuire à la personne concerné, lui envoyer un email pour chaque petit problème. Je veux lui informer juste dans le cas où le problème persiste depuis 5 minutes.
Si le problème est acquitté au bout de 3 minutes par exemple, un email NE SERA PAS envoyé, et il reviens dans la page principale (Là où il y a les 5 boutons).
Et les problèmes sont bien enregistré dans une base de données, mon soucis est simplement d'envoyer un email en cas où le problème persiste, si ce n'est pas le cas ne rien envoyer.
J'espère que j'était clair là dessus.
Je te remercie encore
auteur on 12 juil. 2018 à 17:29
Dans ce cas, la solution proposée par ThEBiShOp est sûrement la plus simple.
Lorsque l'utilisateur clique sur le bouton ça inscrit (dans une table) l'heure à laquelle le clique a été fait. et renseigne un champ "A_ENVOYER" (par exemple) de la table à 1
Si l'utilisateur n'annule pas son problème ce champ reste à 1 (sinon tu le repasses à 0).
Un tâche Cron tournant toutes les minutes par exemple, scan les incidents dont le champ A_ENVOYER est à 1 et dont l'heure est supérieur à 5 minutes.
Si il en trouve... il les envois par mail. (et place le champ A_ENVOYER à 3 (ou à 0 ) par exemple pour éviter de renvoyer plusieurs fois le même mail)
auteur on 22 juil. 2018 à 10:23
Merci de ta réponse mais malheuresment j'ai essayé et j'ai pas pu réussi mes tests de CRON mais d'après ce que j'ai remarqué de CRON c'est que ça marche seulement sur Linux et moi j'héberge mon application sur VMWare local sous Windows Server 2012, SVP est-ce que vous pouvez me détailler une solution similaire à CRON mais sous Windows? Je te remercie à l'avance