How can timestamps be effectively used in PHP to track and manage user interactions with images in a voting portal?

To track and manage user interactions with images in a voting portal, timestamps can be used to record the time when a user votes on an image. This can help prevent users from voting multiple times within a short period and provide valuable data on user engagement. By storing the timestamp of each vote in a database, we can easily query and analyze voting patterns.

// Assuming $image_id is the unique identifier for each image
// Assuming $user_id is the unique identifier for each user

// Check if the user has voted on the image within the last 24 hours
$last_vote_time = strtotime("-24 hours");
$query = "SELECT COUNT(*) FROM votes WHERE image_id = $image_id AND user_id = $user_id AND timestamp > $last_vote_time";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_array($result);

if ($row[0] > 0) {
    echo "You have already voted on this image within the last 24 hours.";
} else {
    // Insert the new vote with the current timestamp
    $timestamp = time();
    $insert_query = "INSERT INTO votes (image_id, user_id, timestamp) VALUES ($image_id, $user_id, $timestamp)";
    mysqli_query($conn, $insert_query);
    echo "Your vote has been recorded.";
}