Timer php
Résolu/Fermé
florire
Messages postés
151
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
15 juillet 2022
-
Modifié par florire le 2/04/2014 à 23:42
florire Messages postés 151 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 15 juillet 2022 - 3 avril 2014 à 16:15
florire Messages postés 151 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 15 juillet 2022 - 3 avril 2014 à 16:15
A voir également:
- Php timer
- Easy php - Télécharger - Divers Web & Internet
- Shutdown timer - Télécharger - Personnalisation
- Multi timer - Télécharger - Bureautique
- Bouton php - Forum PHP
- Php?id=1 - Forum PHP
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.
florire
Messages postés
151
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
15 juillet 2022
6
3 avril 2014 à 08:18
3 avril 2014 à 08:18
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 :/
florire
Messages postés
151
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
15 juillet 2022
6
3 avril 2014 à 16:15
3 avril 2014 à 16:15
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; }