trans.kanel.ovh/site/pressf.php

52 lines
1.6 KiB
PHP
Raw Normal View History

<?php
session_start(); // Start the session
$timeout_duration = 10; // Timeout period in seconds (adjustable)
if (isset($_SESSION['last_click_time'])) {
$time_diff = time() - $_SESSION['last_click_time']; // Time difference since last click
if ($time_diff < $timeout_duration) {
// If the time difference is less than the cooldown period, deny the action
die("Please wait a moment before clicking again.");
}
}
// Créer une connexion à la base de données SQLite
$db = new SQLite3('/var/www/db/pressf.db');
// Créer la table si elle n'existe pas
$db->exec('CREATE TABLE IF NOT EXISTS respect_count (
id INTEGER PRIMARY KEY AUTOINCREMENT,
count INTEGER NOT NULL DEFAULT 0
)');
// Vérifier si le premier enregistrement existe, sinon l'insérer
$result = $db->query('SELECT * FROM respect_count WHERE id = 1');
if (!$result->fetchArray(SQLITE3_ASSOC)) {
// Si le record avec id = 1 n'existe pas, on l'insère
$db->exec('INSERT INTO respect_count (id, count) VALUES (1, 0)');
}
// Mettre à jour le nombre dans la base de données
$db->exec('UPDATE respect_count SET count = count + 1 WHERE id = 1');
// Fermer la connexion
$db->close();
// Ouvrir une nouvelle connexion pour afficher le compteur
$db = new SQLite3('/var/www/db/pressf.db');
$result = $db->query('SELECT count FROM respect_count WHERE id = 1');
$row = $result->fetchArray(SQLITE3_ASSOC);
$current_count = $row['count'];
$db->close();
// Store the current time in the session after the action is completed
$_SESSION['last_click_time'] = time();
// Afficher la valeur actuelle du compteur
echo $current_count;
?>