Conseil pour envoi limité de notifications

Résolu
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -  
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde,

J'ai un petit site avec une section discussion : un genre de livre d'or en quelque sorte. Comme il n'est que très peu fréquenté j'ai pas voulu m'embêter à faire un suivi des messages en particulier mais les utilisateurs (loggés) activent/désactivent le suivi discussion : à chaque nouveau message sur le livre ils sont prévenus par mail (ou pas). Le problème c'est que même si c'est pas très fréquenté il peut y avoir disons une petite dizaine de messages postés en une journée.. et donc 10 mails par membre, ce qui va devenir très vite chiant.

Ce que je voudrais c'est restreindre à 2 le nombre maximum de notifications mails envoyées chaque jour. J'ai pensé à incrémenter un nombre et l'initialiser toutes les 24 heures, j'ai entendu parler de cron, je me suis demandé si un cookie ne ferait pas l'affaire... En fait la question de l'incrément n'est pas un souci, le problème vient plutôt de la réinitialisation.

Qu'est ce que vous me conseillez ?

Merci d'avance.

2 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Le coockie est côté client, donc laisse tomber.
Je te conseil de stocker dans un fichier (ou dans la bdd) le timestamp de la dernière réinitialisation.
Ensuite, tu écris un script comme ça :
$lastReinit = file_get_contents('last_reinitialisation.txt');
$time = $_SERVER['REQUEST_TIME'];
$diff = $time - $lastReinit;
$nbSecParJour = 60 * 60 * 24;
if($diff >= $nbSecParJour) {
    // Script de réinitialisation
    file_put_contents('last_reinitialisation.txt', $time);
}
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Salut avion-f16, je sais pas pourquoi mais en ce moment quoique je dise c'est merdique. Des périodes où il vaudrait mieux la fermer et attendre un peu... Bon je vais faire comme tu dis, avec une base de données, en plus c'est pas dur à mettre en place. Merci quoiqu'il en soit d'avoir été dispo. Bonnes fêtes @+
0