[SQL] Supprimer un compte après X jours

Fermé
sp00m` - 13 juin 2009 à 17:04
 sp00m` - 14 juin 2009 à 15:19
Bonjour,
J'ai un problème que je n'arrive pas à résoudre, j'ai besoin de vous ^^

Je suis en train de réaliser un projet web en PHP/SQL/[...] avec inscription de membres.
J'aimerais que les membres soient obligés d'uploader une photo dans les 10 jours, sinon, leur compte sera supprimé.

Ce que je pourrais faire, c'est qu'à chaque fois qu'ils se connectent, je compare la date de ce jour et la date de création du compte, et je fais une action en fonction.

Cependant, si par exemple, le membre ne se connecte que 30 jours après avoir créé son compte, le compte sera stocké pendant 20 jours inutilement.

Vous auriez pas une idée pour automatiser ça, indépendamment des connections des membres ? SQL ou PHP ?

Merci!
A voir également:

8 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
13 juin 2009 à 18:19
Salut

He bien la solution serai d'executer ce qu'on peut appeller un "cron job" mais pour faire ceci il faut que tu ai acces au serveur qui heberge le site c'est le cas ?

Le but de la manoeuvre est de lancer un script php toute les nuit par exemple et qui va verifier la date de derniere connexion de l'utilisateur
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
13 juin 2009 à 18:23
Salut.

À chaque connexion, tu mets à jours la dernière date de connexion de ce membre
Ensuite, crées un script qui supprime tous les membres dont la différence entre le timestamp actuel et leur dernière date de connexion est supérieur à 864000 secondes (10 jours).
Il te suffirat d'appeler ce script avec les tâche automatisées (CRON) si ton hébergeur le proposent ou toi même.
0
Merci de vos réponses rapides !

Je n'avais encore jamais entendu parlé de ces CRON. Je pense que c'est en effet ça que je recherche.

Vous auriez pas un ptit tuto réputé à me donner ? Apparemment, ça serait du shell parce que ça s'exécute sur un serveur UNIX. Je m'y connais déjà un peu, mais de là à réaliser mon script tout seul... ^^

Merci encore !
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
13 juin 2009 à 21:34
Tu peux créer un script en PHP.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
14 juin 2009 à 01:07
Oui le script est en php, le cron servira juste a dire "je veux lancer ce script tous les jour a minuit" par exemple

Donc deja il faut savoir si tu a acces au serveur qui heberge ton site ou si ton hebergeur autorise les CRON !

Si ce n'est pas le cas, il faudra que tu installe CRON sur ton ordi (Si t'a pas de systeme unix c'est pas grave sa marche aussi sous windows)
0
Ben je serai hébergé par OVH, alors sans avoir vérifié, j'imagine qu'ils autorisent les CRON...

Je comprends mieux le principe : je créé mon script en php sur une page à part qui sélectionne toutes les dates de création des membres dans la table correspondante etc., et le CRON servira juste exécuter le fichier php selon une fréquence donnée.

Vous auriez pas un ptit tuto qui m'apprenne comment réaliser un CRON ? Et faut-il que je le mette dans un dossier particulier du serveur d'OVH ? Normalement, je n'aurais accès qu'au traditionnel httpdocs non ?

Merci encore !
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
14 juin 2009 à 14:26
Salut.
Je suis aussi héberger chez OVH donc je vais répondre à tes questions.

Pour ton script, tu code simplement un fichier en PHP avec l'extention .php que tu placera dans le dossier "cgi-bin" de ton FTP afin que personne ne puisse y accéder via ton domaine (car celui-ci pointe vers le dossier 'www' de ton FTP).

Ensuite, rends-toi sur la page d'administration de ton hébergement et là, cliques sur "Planificateur de tâches" puis sur "Créer". Dans le champ "Script à exécuter", mets : cgi-bin/tonscript.php. Dans "Langage du script", sélectionne la version de PHP dont tu as besoin (Tu peux mettre "Autre" si ton script est en C, Perl, ...). Dans "Description de la tâche", tu mets simplement une description. Dans "Logs par email", chosis ce que tu veux. Et ensuite, tu coche ce que tu veux (les jours et les heures) puis tu fait "Valider".
0
Yeah !

Super, merci beaucoup, j'essaierai ça quand j'aurais pris mon nom de domaine.

Merci une fois de plus ^^

sp00m`
0