Problème compteur de connectés
Résolu/Fermé
corentin.bc
Messages postés
383
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
4 novembre 2022
-
Modifié par Judge_DT le 1/11/2016 à 21:14
corentin.bc Messages postés 383 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 2 nov. 2016 à 20:03
corentin.bc Messages postés 383 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 2 nov. 2016 à 20:03
A voir également:
- Problème compteur de connectés
- Compteur électrique - Guide
- Voir les appareils connectés facebook - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Compteur communicant - Guide
- Compteur de contractions - Télécharger - Santé & Bien-être
5 réponses
NHenry
Messages postés
15185
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 janvier 2025
351
1 nov. 2016 à 21:24
1 nov. 2016 à 21:24
Petit rappel, l'extension mysql est obsolète
corentin.bc
Messages postés
383
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
4 novembre 2022
8
1 nov. 2016 à 21:34
1 nov. 2016 à 21:34
Alors tu conseilles de mettre quoi?
NHenry
Messages postés
15185
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 janvier 2025
351
1 nov. 2016 à 21:43
1 nov. 2016 à 21:43
Tout est expliqué dans le lien, mysqli a une syntaxe très proche de mysql, si tu ne veux pas tout changer, ça peut fonctionner.
corentin.bc
Messages postés
383
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
4 novembre 2022
8
Modifié par NHenry le 2/11/2016 à 18:42
Modifié par NHenry le 2/11/2016 à 18:42
Salut,
je crois que j'ai pas tout bien fais :)
Voici mon nouveau code :
mais, ça n'affiche rien.
Où me suis-je replanté ?
Merci.
Amicalement! Corentin.
je crois que j'ai pas tout bien fais :)
Voici mon nouveau code :
<?php if($bdd = mysqli_connect('localhost', 'miklhcos', 'pecheur430', 'oignon')) { } else { echo 'Erreur'; } $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); $donnees = mysql_fetch_array($retour); if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter. { mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp. { mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); } // ------- // ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes. // On stocke dans une variable le timestamp qu'il était il y a 5 minutes : $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min); // ------- // ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés. $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes'); $donnees = mysql_fetch_array($retour); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo ("Il y a actuellement " . $donnees["nbre_entrees"] . " visiteurs connectés sur " . "$nomdusite" . " !"); ?>
mais, ça n'affiche rien.
Où me suis-je replanté ?
Merci.
Amicalement! Corentin.
NHenry
Messages postés
15185
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 janvier 2025
351
2 nov. 2016 à 18:44
2 nov. 2016 à 18:44
Si tu as fais :
mysqli_connect
Il faut aussi mettre à jour le reste du code ...
mysql_query & co ne sont plus valide.
mysqli_connect
Il faut aussi mettre à jour le reste du code ...
mysql_query & co ne sont plus valide.
corentin.bc
Messages postés
383
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
4 novembre 2022
8
2 nov. 2016 à 19:40
2 nov. 2016 à 19:40
Re,
bon, j'ai essayé de suivre ce tuto :
https://www.linuxtricks.fr/wiki/php-passer-de-mysql-a-mysqli-requetes-de-base#paragraph_connexion-a-la-base
mais j'y comprends rien.
Je dois remplacer quoi par quoi, ajouter/supprimer quoi, bref faire quelles modifs ?
Merci.
bon, j'ai essayé de suivre ce tuto :
https://www.linuxtricks.fr/wiki/php-passer-de-mysql-a-mysqli-requetes-de-base#paragraph_connexion-a-la-base
mais j'y comprends rien.
Je dois remplacer quoi par quoi, ajouter/supprimer quoi, bref faire quelles modifs ?
Merci.
mouloud11
Messages postés
523
Date d'inscription
mardi 22 septembre 2009
Statut
Membre
Dernière intervention
10 novembre 2019
125
Modifié par NHenry le 2/11/2016 à 21:42
Modifié par NHenry le 2/11/2016 à 21:42
Je connais rien a php, mais essaye sa. J'ai pas tester
<?php if($bdd = mysqli_connect('localhost', 'miklhcos', 'pecheur430', 'oignon')) { } else { echo 'Erreur'; } $donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'')->fetch_array(); if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter. { $bdd->query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp. { $bdd->query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); } // ------- // ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes. // On stocke dans une variable le timestamp qu'il était il y a 5 minutes : $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes $bdd->query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min); // ------- // ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés. $donnees = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM connectes')->fetch_array(); // Ouf ! On n'a plus qu'à afficher le nombre de connectés ! echo ("Il y a actuellement " . $donnees["nbre_entrees"] . " visiteurs connectés sur " . "$nomdusite" . " !"); ?>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
corentin.bc
Messages postés
383
Date d'inscription
dimanche 8 février 2015
Statut
Membre
Dernière intervention
4 novembre 2022
8
2 nov. 2016 à 20:03
2 nov. 2016 à 20:03
Merci beaucoup, ça fonctionne !!!!!!!!