Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $db_host = "localhost";
- $db_name = "site";
- $db_user = "root";
- $db_pass = "";
- try
- {
- $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
- $bdd = new PDO('mysql:host='.$db_host.';dbname='.$db_name.'', $db_user, $db_pass, $pdo_options);
- $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
- $reponse = $bdd->prepare('SELECT COUNT(*) AS nbre_entrees FROM visiteurs WHERE ip = ?');
- $reponse->execute(array($_SERVER['REMOTE_ADDR']));
- $donnees = $reponse->fetch();
- if($donnees['nbre_entrees'] == 0)
- {
- $reponse = $bdd->prepare('INSERT INTO visiteurs(ip,timestamp,logged) VALUES(:ip, :timestamp, :logged)');
- $reponse->execute(array(
- 'ip' => $_SERVER['REMOTE_ADDR'],
- 'timestamp' => time(),
- 'logged' => 1
- ));
- }
- else
- {
- $reponse = $bdd->prepare('UPDATE visiteurs SET timestamp = :timestamp, logged = :logged WHERE ip = :ip');
- $reponse->execute(array(
- 'timestamp' => time(),
- 'logged' => 1,
- 'ip' => $_SERVER['REMOTE_ADDR']
- ));
- }
- $reponse = $bdd->prepare('UPDATE visiteurs SET logged = :logged WHERE timestamp < :timestamp');
- $reponse->execute(array(
- 'logged' => 0,
- 'timestamp' => $timestamp_5min
- ));
- $reponse = $bdd->query('SELECT COUNT(*) AS nbre_connectes FROM visiteurs WHERE logged = 1');
- $donnees = $reponse->fetch();
- echo $donnees['nbre_connectes']; ?> visiteur<?php if($donnees['nbre_connectes'] > 1) { echo "s"; }?> sur le site les 5 dernières minutes.
- <?php
- }
- catch (Exception $e)
- {
- die('Erreur : ' . $e->getMessage());
- }
- ?>
Add Comment
Please, Sign In to add comment