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?!

8 réponses


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);

plus d'info sur le timestamp

Tomiv
Auteur

Je pourrai avoir ton adresse msn pour parler de ça...?

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";
    }
}
Tomiv
Auteur

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

Tomiv
Auteur

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";
    }
}
Tomiv
Auteur

C'est pas possible que tu m'aide par TeamViwer, car là j'suis un peut pommé :(