Guest User

Untitled

a guest
Jun 15th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. <?php
  2. $db_host = "localhost";
  3. $db_name = "site";
  4. $db_user = "root";
  5. $db_pass = "";
  6.  
  7. try
  8. {
  9. $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
  10. $bdd = new PDO('mysql:host='.$db_host.';dbname='.$db_name.'', $db_user, $db_pass, $pdo_options);
  11.  
  12. $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
  13. $reponse = $bdd->prepare('SELECT COUNT(*) AS nbre_entrees FROM visiteurs WHERE ip = ?');
  14. $reponse->execute(array($_SERVER['REMOTE_ADDR']));
  15. $donnees = $reponse->fetch();
  16. if($donnees['nbre_entrees'] == 0)
  17. {
  18. $reponse = $bdd->prepare('INSERT INTO visiteurs(ip,timestamp,logged) VALUES(:ip, :timestamp, :logged)');
  19. $reponse->execute(array(
  20. 'ip' => $_SERVER['REMOTE_ADDR'],
  21. 'timestamp' => time(),
  22. 'logged' => 1
  23. ));
  24. }
  25. else
  26. {
  27. $reponse = $bdd->prepare('UPDATE visiteurs SET timestamp = :timestamp, logged = :logged WHERE ip = :ip');
  28. $reponse->execute(array(
  29. 'timestamp' => time(),
  30. 'logged' => 1,
  31. 'ip' => $_SERVER['REMOTE_ADDR']
  32. ));
  33. }
  34. $reponse = $bdd->prepare('UPDATE visiteurs SET logged = :logged WHERE timestamp < :timestamp');
  35. $reponse->execute(array(
  36. 'logged' => 0,
  37. 'timestamp' => $timestamp_5min
  38. ));
  39.  
  40. $reponse = $bdd->query('SELECT COUNT(*) AS nbre_connectes FROM visiteurs WHERE logged = 1');
  41. $donnees = $reponse->fetch();
  42. echo $donnees['nbre_connectes']; ?> visiteur<?php if($donnees['nbre_connectes'] > 1) { echo "s"; }?> sur le site les 5 dernières minutes.
  43. <?php
  44. }
  45. catch (Exception $e)
  46. {
  47. die('Erreur : ' . $e->getMessage());
  48. }
  49. ?>
Add Comment
Please, Sign In to add comment