Délai d'occupation
securinets
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis debutante en php j'ai besoin de votre aide pour la realisation de mon application web,en fait j'ai besoin de changer un attribut dans ma base de donnée aprés un délai spécifier par l'internaute je me bloque quelqu'un qui a une idée svp merci d'avance
4 réponses
a Priori c est un code javascript sur un setinterval("fctMAJ.php?Id="+formId+"&valeur="+formvalue")
https://www.toutjavascript.com/reference/ref-window.setinterval.php
NB pas obligé de passer par un formulaire evenement button onclick
fctMAJ.php
connection a la Bdd puis MAJ des donnees
$result = mysql_query('UPDATE MATABLE SET colonne = " '.$_GET['Valeur']. ' "WHERE ID='.$_GET['Id']);
https://sql.sh/cours/update
https://www.toutjavascript.com/reference/ref-window.setinterval.php
NB pas obligé de passer par un formulaire evenement button onclick
fctMAJ.php
connection a la Bdd puis MAJ des donnees
$result = mysql_query('UPDATE MATABLE SET colonne = " '.$_GET['Valeur']. ' "WHERE ID='.$_GET['Id']);
https://sql.sh/cours/update
SettimeOut active une fonction Javascript, et ne peut pas exécuter une page php comme cela.
De toute façon, le javascript étant un langage client, si celui-ci ferme sa page, le code ne va pas s'exécuter, et ce n'est pas ce que tu souhaite.
La solutions la plus simple est d'enregistré les actions à faire dans une table, grâce à une tâche Cron tu pourra ainsi les traiter le moment venu.
De toute façon, le javascript étant un langage client, si celui-ci ferme sa page, le code ne va pas s'exécuter, et ce n'est pas ce que tu souhaite.
La solutions la plus simple est d'enregistré les actions à faire dans une table, grâce à une tâche Cron tu pourra ainsi les traiter le moment venu.
<script> function fctMAJ() { var Ef=document.getElementsByName("suivi"); if ( Ef.length==0 ) { Ef = document.createElement("IFRAME"); Ef.setAttribute("name", "suivi"); } else {Ef=Ef[0];} var Id=document.getElementsByName("Id")[0].value; var formvalue=document.getElementsByName("formvalue")[0].value; Ef.setAttribute("src", "fctMAJ.php?Id="+formId+"&valeur="+formvalue); Ef.setAttribute("visibility", "hidden"); document.appendChild(Ef); } setTimeout("fctMAJ",1000) ; </script>
Le problème est le même, si l'internaute ferme sa page, ton code sera pas exécuté.
Tu complique en plus un système très simple qui est l'ajax avec tes iframes ...
Mais ça ne peut de toute façon pas marcher si on veut permettre à l'utilisateur de fermer la page avant la fin. (L'intérêt est inexistant d'ailleurs, on lui dit de rentrer un délai pour déclencher une action, mais faut qu'il reste devant pour qu'elle soit lancé ?)
Enfin bref...
Tu complique en plus un système très simple qui est l'ajax avec tes iframes ...
Mais ça ne peut de toute façon pas marcher si on veut permettre à l'utilisateur de fermer la page avant la fin. (L'intérêt est inexistant d'ailleurs, on lui dit de rentrer un délai pour déclencher une action, mais faut qu'il reste devant pour qu'elle soit lancé ?)
Enfin bref...