Bonjour,
Je cherche une solution pour exécuter une fonction php après un intervalle de 5 secondes.
Merci d'avance
Bonjour,
Je cherche une solution pour exécuter une fonction php après un intervalle de 5 secondes.
Merci d'avance
Qu'est ce qui donne le top départ ?
Si tu veux lancer un script PHP depuis une page déjà chargée, il faudra passer par Ajax.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Salut,
Non justement, j’essaye de trouver une solution pour exécuter une fonction php qui ce trouve dans la même page php, mais sans clique juste après un intervalle de 5 secondes.
Je n’ai aucun GET Ou Post à envoyer juste exécuté une function php.
Bien sur j’ai passé la nuit à chercher sur le net, mais rien.
Bonjour,
Si c'est durant le script php en cours tu peux faire un sleep(). Mais ceci bloquera le chargement de la page durant 5 secondes en plus du script normal.
Sinon il faudra utiliser soit de l'ajax pour appeler ton script sans bloquer la page elle-même. Soit utiliser différentes fonction afin de demander à php d’appeler une page php de manière asynchrones .
Php asynchrones (par exemple).
Bon autre question cela peut résoudre mon problème
Peut-on arrêter le chargement de la page et continuer l’exécution de la fonction
il y a une erreur courante que l'on peut rappeler, c'est que sleep arrete la génération de la page (donc le moment ou le navigateur n'affiche que du blanc) en attente du téléchargement de la page. Si tu veux une action asynchrone lorsque ta page est déjà chargée, alors c'est vers du javascript et un set_timer() qu'il faut aller.
PHP fait nativement la validation d'adresse électronique .
Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
Utilisez le bouton résolu!
Déjà essayer mais la fonction ne s'exécute pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part timer = setTimeout("<?php demarrer(); ?>",551);
Puis le php et exécuter avant le javascript non?
Si tu nous disais ce que fait ta fonction on pourrait mieux t'orienter vers la meilleure solution...
Il est normal que ton code ne fonctionne pas, setTimeout prendra du javascript en argument et non du php comme tu essayes de faire . Tu dois utiliser le setTimeout pour appeller une méthode qui appellera la page contenant ton script php et donc utiliser de l'ajax.
Soit dit en passant il faudrait en effet que nous donnes des renseignement car il y a peut être un moyen plus simple .
+1 ACIDWEB.
PHP fait nativement la validation d'adresse électronique .
Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
Utilisez le bouton résolu!
Donc voila je développe un module pour importer un fichier csv sur prestashop
Quand je clique sur submit l'url ce d’éclanche
Code : Sélectionner tout - Visualiser dans une fenêtre à part index.php?tab=AdminModules&configure=catalog&token=c4023df1029cd736b5241b7132298c55&import=demarrer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 else if (isset($_REQUEST['import'])) $this->demarrer();Puis j'ai les infos qui s'affiche fur et à mesure que ca progresse mais avec la page qui continue le chargement (c'est logique, mais pas beau)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public function demarrer() { if( $execute == 1 ) $this->_html .= $this->import($_REQUEST['import'], $config); // tous ce déclanche ici
La ou ca me gène et que mon footer ne s'affiche que lorsque l'import est fini (je trouve ca pas beau très vilain).
Je cherche a arrêter le chargement, mais continuer l'import
Ou que la page soit affiché complètement avant de continuer l'import
Merci d'avance
A priori, il serait mieux que le submit envoie une requête ajax pour mettre à jour ton contenu. La page s'agrandira en fonction de ton contenu mais le cadre et le footer seront déjà affichés.
Je viens de faire un teste, fonctionne bien, mais pas très concluent
Le catalogue est bien envoyer,
Problème 1 :
Je ne reçois plus les réponses de la progression de l’envoi.
Problème 2 :
A la fin de l’envoi j’ai deux fois la même page qui s’affiche dans la même page lol.
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <script> jQuery.ajax ( { type: 'GET', url: '?tab=AdminModules&configure=catalog&token=c4023df1029cd736b5241b7132298c55&import=demarrer', data: { vide: 'vide', async: true }, success: function(data, textStatus, jqXHR) { document.getElementById('progress').innerHTML = data; }, error: function(jqXHR, textStatus, errorThrown) { document.getElementById('progress').innerHTML = 'error'; } } ); </script>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager