05-09-2009, 03:36 PM
(Modification du message : 05-09-2009, 03:38 PM par Sephi-Chan.)
Ah effectivement, c'est pas n'importe quel projet ! iffle:
Quand on arrive sur la page d'inspection, on vérifie si le paramètre parrain à été indiqué dans l'URL (inscription.php?parrain=42).
Si aucun parrain n'est transmis, c'est que ça n'est pas une inscription parrainée.
S'il y en a un, on vérifie que cet utilisateur existe. Si oui, on affiche bien le formulaire dans lequel on remet l'identifiant du parrain dans un champ (caché ou non), sinon on fait comme si aucun parrain n'avait été transmis.
Et voilà, pour chaque utilisateur on a un parrain (ou non) qui peut être stocké dans un champ parrain_id de la base de données.
Ensuite, pour permettre à ton utilisateur de donner son lien de parrainage à quelqu'un, c'est tout bête : tu affiche l'URL de la page d'inscription que tu fais suivre de "?parrain=id_de_l_utilisateur".
Pour ton second problème, tu fais simplement une table qui contient une colonne pour indiqué quel profil a été visité (l'identifiant du membre qui a reçu une visite, donc), une colonne pour l'adresse IP de celui qui a cliqué et enfin, une colonne qui contient la date de la visite. Ensuite, ça n'est qu'un test pour savoir si l'adresse IP n'est pas présente dans la table ses 24 dernières heures pour le profil indiqué.
La requête SQL pourrait ressembler à :
Si elle renvoie 0, c'est que le visiteur n'a pas visité le profil ses 24 dernières heures, tu peux donc incrémenter le compteur de visites.
Sephi-Chan
Quand on arrive sur la page d'inspection, on vérifie si le paramètre parrain à été indiqué dans l'URL (inscription.php?parrain=42).
Si aucun parrain n'est transmis, c'est que ça n'est pas une inscription parrainée.
S'il y en a un, on vérifie que cet utilisateur existe. Si oui, on affiche bien le formulaire dans lequel on remet l'identifiant du parrain dans un champ (caché ou non), sinon on fait comme si aucun parrain n'avait été transmis.
Et voilà, pour chaque utilisateur on a un parrain (ou non) qui peut être stocké dans un champ parrain_id de la base de données.
Ensuite, pour permettre à ton utilisateur de donner son lien de parrainage à quelqu'un, c'est tout bête : tu affiche l'URL de la page d'inscription que tu fais suivre de "?parrain=id_de_l_utilisateur".
Pour ton second problème, tu fais simplement une table qui contient une colonne pour indiqué quel profil a été visité (l'identifiant du membre qui a reçu une visite, donc), une colonne pour l'adresse IP de celui qui a cliqué et enfin, une colonne qui contient la date de la visite. Ensuite, ça n'est qu'un test pour savoir si l'adresse IP n'est pas présente dans la table ses 24 dernières heures pour le profil indiqué.
La requête SQL pourrait ressembler à :
SELECT COUNT(*)
FROM visits
WHERE visitor_ip = ip_du_visiteur
AND user_id = id_du_profil_visité
AND visited_at >= DATE_SUB(NOW(), INTERVAL 1 DAY);
Si elle renvoie 0, c'est que le visiteur n'a pas visité le profil ses 24 dernières heures, tu peux donc incrémenter le compteur de visites.
Sephi-Chan