PHP Code vote for 24 hours

Записваш IP-то и времето в базата данни и проверяваш дали са минали 86000 секунди от последния запис за това IP
 
Некво такова ама по-добре с база данни да го направиш да работи:

Код:
<?php
// Function to check if it's time to greet the user
function shouldGreetUser($lastGreetTime) {
    $currentTime = time();
    $twentyFourHoursAgo = $currentTime - 24 * 60 * 60;
    return $lastGreetTime <= $twentyFourHoursAgo;
}


// Function to greet the user and update the last greeting time
function greetUser($userId) {
    echo "Hello World, User $userId!<br>";
    $greetedUsers = json_decode(file_get_contents('greeted_users.json'), true);
    $greetedUsers[$userId] = time();
    file_put_contents('greeted_users.json', json_encode($greetedUsers));
}


// Simulate user IDs; in a real application, you would use user authentication.
$userIds = [1, 2, 3];


foreach ($userIds as $userId) {
    $greetedUsers = json_decode(file_get_contents('greeted_users.json'), true);
    if (!isset($greetedUsers[$userId]) || shouldGreetUser($greetedUsers[$userId])) {
        greetUser($userId);
    }
}
?>
 
Некво такова ама по-добре с база данни да го направиш да работи:

Код:
<?php
// Function to check if it's time to greet the user
function shouldGreetUser($lastGreetTime) {
    $currentTime = time();
    $twentyFourHoursAgo = $currentTime - 24 * 60 * 60;
    return $lastGreetTime <= $twentyFourHoursAgo;
}


// Function to greet the user and update the last greeting time
function greetUser($userId) {
    echo "Hello World, User $userId!<br>";
    $greetedUsers = json_decode(file_get_contents('greeted_users.json'), true);
    $greetedUsers[$userId] = time();
    file_put_contents('greeted_users.json', json_encode($greetedUsers));
}


// Simulate user IDs; in a real application, you would use user authentication.
$userIds = [1, 2, 3];


foreach ($userIds as $userId) {
    $greetedUsers = json_decode(file_get_contents('greeted_users.json'), true);
    if (!isset($greetedUsers[$userId]) || shouldGreetUser($greetedUsers[$userId])) {
        greetUser($userId);
    }
}
?>
Мда така е. Аз ползвам сега подобно но е малко бъгава за това пуснах темеата защото искам със база данни да е.
 
Бисквитките не са много оферта :D Мога да отворя 50 прозореца инкогнито и ще са 50 посещения за 1 мин :D
не сте прави, тук идеята за злоупотреба липсва и няма лок=гика да отваряш 100 таба
 
Аз му го преправих с local storage, за сега май е ОК, но трябва да минат 24 часа, за да сме сигурни, че работи както трябва.
Той е ползвал доста стар код и е работил с кукита, а html-a се показвал с document.write.
Изтрихме всичко направо и му го изкодирах наново.
 

Горе