2011-09-03 1 views
0

Je sais, le titre ne sonne pas bien mais je vais l'expliquer clairement. Dans la table mySQL, il y a une colonne nommée expires. Il tiendra une date dans le futur qui sera vérifiée par rapport à l'heure actuelle du serveur chaque fois qu'un utilisateur se connecte.Comment séparer les utilisateurs d'essai avec des essais non basés sur le temps dans mySQL/PHP

Ainsi, quand ce jour sera passé et que l'utilisateur se connectera, il recevra un message. Il y a deux rôles d'utilisateur, le numéro 2 et le numéro 3. Le numéro 3 n'aura jamais de période de fin. Le numéro 2 a des comptes "d'essai".

Je sais comment définir la valeur pour les utilisateurs avec le rôle 2 et faire la vérification avec time() sur la journalisation, mais quelle valeur dois-je placer dans la colonne expires sur les utilisateurs avec le rôle 3 et comment puis-je effectuer la vérification contre le temps pour eux lors de la connexion? Peut-être qu'un temps à 2020 fait l'affaire mais n'est-ce pas stupide?

Répondre

1

Je stockerais probablement juste NULL pour les comptes non expirant. Lorsque vous les validez, commencez par tester si la valeur de la colonne est null, auquel cas vous avez un type 3, puis vérifiez si la date est passée. Le type 2 est expiré.

Vous pouvez enregistrer une partie de la programmation dans l'application côté si vous l'avez stocké comme une date loin dans le futur, mais un NULL me semble plus logique.

+0

Je sais que 0 est vide en PHP. Est-ce la même chose avec le mot NULL? – EnexoOnoma

+0

@Nikolai Si la valeur de la base de données est 'NULL', elle sera récupérée en tant que vrai' NULL' dans PHP, plutôt que comme int 0 –

+0

Got it, thanks. – EnexoOnoma

Questions connexes