Bonjour à tous,
Aujourd'hui j'aimerai faire un système de timestamp pour mon site web.
Je m'explique.
Quand quelqu'un s'inscrit il est membre (on va appeler ça rank 1).
Par exemple, si il aimerait être VIP (on va appeler ça rank 2), il faut qu'il paye, donc jusque là, tout va bien.
Mais quand il se met VIP, j'aimerai qu'il le soit que 30jours, car sinon il l'es à vie.
Comment faire?!
Bonjour,
Le timestamp est un nombre en secondes depuis le 1/1/1970.
Donc si tu donnes 30 jours de VIP, tu généré un timestamp et tu ajoute 30 jours en secondes.
$date = time() + (30 * 24 * 60 * 60);
Dsl je ne comunique pas sur msn à par pour tenter de charmer une demoiselle, chose difficile :)
Mais tu peux continuer à poser tes question ici.
Après pour savoir si un membre est encore VIP.
Tu stock le timestamp dans la bdd, dans une colonne que tu appels "dateFinVip" par exemple.
Par default dateFinVip est à 0.
Tu récupères cette valeur avec une requête sql simple
Tu n'a plus qu'a comparer le timestamp de la date de fin vip avec le timestamp du temps présent.
$datePresent = time();
if ($dateFinVip > $datePresent)
{
echo 'tu es VIP.';
}
else
{
if ($datevip != '0')
{
echo "Ta période VIP est terminé, renouvelle la !";
}
else
{
echo "Tu n'es pas encore vip, C'est le moment de franchir le pas";
}
}
Mais enfaîte j'ai déjà une BDD (user etc).
Est-ce que il faut que j'insère une table exemple "datefinvip", dans la table user?
oui tu peux ajouter dans la table user une colonne datefinvip avec valeur par default 0 et au format timestamp
Donc, si j'ai bien compris.
J'ajoute une colonne datefinvip juste avec valeur 0.
Ensuite le code que tu m'as passé j'en fais quoi?
Après normalement quand un utilisateur passe vip, tu changes la valeur " datefinvip " dans la bdd. En prenent le timestamp du présent plus le temps vip (le tout en seconde).
exemple 7 jours de vip en seconde = 7 * 24 * 60 * 60.
donc 7jours x 24heures x 60minutes x 60secondes.
Puis tu ajoute le timestamp présent.
Au Final
$nbJours = 7; //nombre de jour vip
$nbSecondes = $nbJours * 24 * 60 * 60;
$datefinvip = time() + $nbSecondes;
// et là tu insert dans la base.
Après si tu a besoin de vérifier si l'utilisateur est vip, tu utilises ce code une fois que tu as récupéré la valeur dans la bdd
$datePresent = time();
if ($dateFinVip > $datePresent)
{
echo 'tu es VIP.';
}
else
{
if ($datevip != '0')
{
echo "Ta période VIP est terminé, renouvelle la !";
}
else
{
echo "Tu n'es pas encore vip, C'est le moment de franchir le pas";
}
}