Timer php
Résolu
florire
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais exécuté du php à l'aide d'un timer js toute les 5secondes.
Mais comment faire pour que ma fonction soit "relié" à du php
Merci de votre aide !
je voudrais exécuté du php à l'aide d'un timer js toute les 5secondes.
Mais comment faire pour que ma fonction soit "relié" à du php
Merci de votre aide !
var timerk=setInterval(kick,5000); function kick(){ $.post(url,{fonction:"kick"},function(data){ if(data.erreur=="ok"){ location.reload(); } else{ } },"json"); return false;}
if($_POST["fonction"]=="kick"){ $sql17 = "SELECT pseudo FROM users WHERE kick = 1"; $req17 = mysql_query($sql17) or die(mysql_error()); $data17=mysql_fetch_assoc($req17); $pseudo17=$data17['pseudo']; if($_SESSION['Auth']['pseudo'] == $pseudo17){ $_SESSION=array(); session_destroy(); $d["erreur"] ="ok"; } }
A voir également:
- Php timer
- Easy php - Télécharger - Divers Web & Internet
- Shutdown timer - Télécharger - Personnalisation
- Expert php pinterest - Télécharger - Langages
- Multi timer - Télécharger - Bureautique
- Marxio timer - Télécharger - Divers Utilitaires
3 réponses
Salut,
c'est tout à fait impossible: javascript fonctionne dans le navigateur web et PHP sur le serveur web.
Donc PHP est toujours avant javascript.
Vous pouvez soit utiliser AJAX soit une tâche CRON selon ce que vous avez à faire.
Si c'est en rapport avec la base de données pourquoi ne faites vous pas ce timer côté serveur uniquement?
Un peu lourd de faire des requêtes constantes, AJAX semble ce prêter à ce que vous voulez faire(?quoi donc) et permettra de pas surcharger la BDD pour rien par un traitement des données uniquement lorsque nécessaire.
c'est tout à fait impossible: javascript fonctionne dans le navigateur web et PHP sur le serveur web.
Donc PHP est toujours avant javascript.
Vous pouvez soit utiliser AJAX soit une tâche CRON selon ce que vous avez à faire.
Si c'est en rapport avec la base de données pourquoi ne faites vous pas ce timer côté serveur uniquement?
Un peu lourd de faire des requêtes constantes, AJAX semble ce prêter à ce que vous voulez faire(?quoi donc) et permettra de pas surcharger la BDD pour rien par un traitement des données uniquement lorsque nécessaire.
Merci de votre réponse.
Je vais partir sur de l'ajax comme j'ai déjà des requêtes qui passe par la.
Mon code précédent est bien de l'ajax ?
Le timer fonctionne.
Mais le reste ne fonctionne pas :/
Je vais partir sur de l'ajax comme j'ai déjà des requêtes qui passe par la.
Mon code précédent est bien de l'ajax ?
Le timer fonctionne.
Mais le reste ne fonctionne pas :/
En faite c'est un tchat en ajax/php.
Quand un utilisateur écrit "/kick membre", sa envoi une requete qui met "1" dans la colonne kick où pseudo=membre dans la table users de ma BDD.
Et je voudrais vérifier "en permanence" si un utilisateur à la valeur 1 pour kick.
Si c'est le cas je récupère son pseudo.
Et je le redirige vers la page "logout.php" ou je le déconnecte(session_destroy) et actualise la page.
Si je fais sa dans une autre "requete" ajax:
C'est pas très propre mais l'utilisateur est bien déconnecté, sauf qui faudrait le rediriger vers la page index ou actualisé la page.
Si je rajoute
Le js de getMessage
Quand un utilisateur écrit "/kick membre", sa envoi une requete qui met "1" dans la colonne kick où pseudo=membre dans la table users de ma BDD.
Et je voudrais vérifier "en permanence" si un utilisateur à la valeur 1 pour kick.
Si c'est le cas je récupère son pseudo.
$sql17 = "SELECT pseudo FROM users WHERE kick = 1";
Et je le redirige vers la page "logout.php" ou je le déconnecte(session_destroy) et actualise la page.
Si je fais sa dans une autre "requete" ajax:
/** * Action : getMessages * Permet l'affichage des dernier messages **/ if($_POST["action"]=="getMessages"){ $sql17 = "SELECT pseudo FROM users WHERE kick = 1"; $req17 = mysql_query($sql17) or die(mysql_error()); $data17=mysql_fetch_assoc($req17); $pseudo17=$data17['pseudo']; if($_SESSION['Auth']['pseudo'] == $pseudo17){ $_SESSION=array(); session_destroy(); } $lastid =floor($lastid); $sql ="SELECT * FROM messages WHERE id>$lastid ORDER BY date ASC"; $req=mysql_query($sql) or die(mysql_error()); $d["result"]=""; $d["lastid"]=$lastid; //suite
C'est pas très propre mais l'utilisateur est bien déconnecté, sauf qui faudrait le rediriger vers la page index ou actualisé la page.
Si je rajoute
header('location: ../index.php');l'utilisateur est bien déconnecté mais pas rediriger.
Le js de getMessage
var timer=setInterval(getMessages,2000); function getMessages(){ $.post(url,{action:"getMessages",lastid:lastid},function(data){ if(data.erreur=="ok"){ $("#tchat").append(data.result); lastid=data.lastid; } else{ alert(data.erreur); } $('#tchat').manageScrollbar({timer: 2000, acceptDiff: 93});},"json"); return false; }