Créer un systeme de parrainage
max1395
-
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de créer mon site et je voudrais qu'il y ait dessus un systeme de parrainage. le seul probleme c'est que je voudrais que des que la personne s'inscrive avec le nom d'un membre dans case parrain , je voudrais que le futur parrain lui est dans la case filleul le nom de la personne qui vient de s'inscrire donc que sa soit automatique et que je n'est pas a le faire . le 2em probleme et que je voudrais que vu que mon site est un site de jeux , je souhaiterais que chaque mois , 25% de touts les points du filleuls soit mis sur le compte de son parrain et sa non plus je ne sait pas faire .
merci
je suis en train de créer mon site et je voudrais qu'il y ait dessus un systeme de parrainage. le seul probleme c'est que je voudrais que des que la personne s'inscrive avec le nom d'un membre dans case parrain , je voudrais que le futur parrain lui est dans la case filleul le nom de la personne qui vient de s'inscrire donc que sa soit automatique et que je n'est pas a le faire . le 2em probleme et que je voudrais que vu que mon site est un site de jeux , je souhaiterais que chaque mois , 25% de touts les points du filleuls soit mis sur le compte de son parrain et sa non plus je ne sait pas faire .
merci
A voir également:
- Créer un systeme de parrainage
- Comment créer un groupe whatsapp - Guide
- Restauration systeme windows 10 - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
5 réponses
Salut.
Je ne sais pas quelle base de données tu utilises, je vais donc parler en SQL en général et mysql qd nécessaire, mais je ne suis pas encore très familier de mysql
Donc, sur la base que le nouvel inscrit renseigne un formulaire et précise le pseudo de son parrain, dans ton script PHP, tu récupères les informations du formulaire à l'aide du tableau $_POST. Dans ce tableau, tu as les noms des champs de tes formulaires comme clé et les valeurs des champs comme valeur.
Tu peux donc commencer par créer un compte pour ce nouvel abonné
Récupéres déjà les variables du tableau $_POST. Idéalement tu controles s'il sont renseignés, sauf si tu as déjà mis un controle avant l'envoi du formulaire, ce qui est mieux à mon sens. Néanmoins tu peux toujours t'assurer que les champs sont remplis au cas où ton script serait appelé indépendamment afin d'éviter des manimpulations inutiles. Enfin il existe plusieurs possiilités de gérer cela.
//A faire pour tous les champs que tu dois traiter
if(isset($_POST['nom'])
{
$nom = $_POST['nom'];
}
else
{
//Gestion de l'erreur
}
$rqNewInscrit = "INSERT INTO Membres (Nom, prenom,.....) VALUES ('$nom',$prenom',....);";
//Connexion à la base (je suppose que tu as une fonction qui se charge de la connexion à la base et qui renvoie l'identifiant de connexion.
$cnx = ConnectBase();
if ($cnx==0)
{
//Gere l'erreur
}
//Execute la requete
$res = mysql_query($rqNewInscrit, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
//libère les ressources
mysql_free_result($res);
//Tu récupères ensuite l'id de ce nouveau compte car tu en auras besoin pour l'associer au parrain
//Je ne sais pas comment tu généres les clés primaires de tes tables. Cette fonction marche pour les clés auto incrémentées, mais présente des risques dans la mesure où elle retourne le n° du dernier enregistrement inséré. On ne peut donc pas être sur à 100 % que c le bon. L'autre solution peut être de conserver en mémoire le pseudo s'il est unique dans toute la base, d'enregistrer les informations, puis de lancer une requete pour rechercher l'id de ce compte avec comme critère de recherche le pseudo.
$idNewInscrit = mysql_insert_id($cnx);
ou
$Pseudo = $_POST['Pseudo'];
$rqIdInscrit = "SELECT IdMembre FROM Membre WHERE Pseudo = '$Pseudo';";
$res = mysql_query($rqIdInscrit, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
$rep = mysql_fetch_row($res);
$idNewInscrit = $rep[0];
//libère les ressources
mysql_free_result($res);
Tu peux maintenant rechercher l'id du compte du parrain
$Parrain = $_POST['Parrain'];
$rqIdParrain = "SELECT IdMembre FROM Membre WHERE Pseudo = '$Parrain';";
$res = mysql_query($rqIdParrain, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
$rep = mysql_fetch_row($res);
$idParrain = $rep[0];
//libère les ressources
mysql_free_result($res);
Et maintenant inscrire l'id du parrain et du filleul dans la table Parrainage
$rqParrainage = "INSERT INTO Parrainage (Filleul, Parrain) VALUES ($idNewInscrit, $idParrain);";
//Execute la requete
$res = mysql_query($rqParrainage, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
//libère les ressources
mysql_free_result($res);
Voilà en gros un script qui devrait marcher. Je ne garanti pas qu'il n'y ait pas des erreurs de saisie. Bien sur il faut mettre toutes ces instructions dans un fichier PHP commençant <?php et finissant par ?>
Si tu as d'autres questions à ta disposition.
Cdlt,
IC
Je ne sais pas quelle base de données tu utilises, je vais donc parler en SQL en général et mysql qd nécessaire, mais je ne suis pas encore très familier de mysql
Donc, sur la base que le nouvel inscrit renseigne un formulaire et précise le pseudo de son parrain, dans ton script PHP, tu récupères les informations du formulaire à l'aide du tableau $_POST. Dans ce tableau, tu as les noms des champs de tes formulaires comme clé et les valeurs des champs comme valeur.
Tu peux donc commencer par créer un compte pour ce nouvel abonné
Récupéres déjà les variables du tableau $_POST. Idéalement tu controles s'il sont renseignés, sauf si tu as déjà mis un controle avant l'envoi du formulaire, ce qui est mieux à mon sens. Néanmoins tu peux toujours t'assurer que les champs sont remplis au cas où ton script serait appelé indépendamment afin d'éviter des manimpulations inutiles. Enfin il existe plusieurs possiilités de gérer cela.
//A faire pour tous les champs que tu dois traiter
if(isset($_POST['nom'])
{
$nom = $_POST['nom'];
}
else
{
//Gestion de l'erreur
}
$rqNewInscrit = "INSERT INTO Membres (Nom, prenom,.....) VALUES ('$nom',$prenom',....);";
//Connexion à la base (je suppose que tu as une fonction qui se charge de la connexion à la base et qui renvoie l'identifiant de connexion.
$cnx = ConnectBase();
if ($cnx==0)
{
//Gere l'erreur
}
//Execute la requete
$res = mysql_query($rqNewInscrit, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
//libère les ressources
mysql_free_result($res);
//Tu récupères ensuite l'id de ce nouveau compte car tu en auras besoin pour l'associer au parrain
//Je ne sais pas comment tu généres les clés primaires de tes tables. Cette fonction marche pour les clés auto incrémentées, mais présente des risques dans la mesure où elle retourne le n° du dernier enregistrement inséré. On ne peut donc pas être sur à 100 % que c le bon. L'autre solution peut être de conserver en mémoire le pseudo s'il est unique dans toute la base, d'enregistrer les informations, puis de lancer une requete pour rechercher l'id de ce compte avec comme critère de recherche le pseudo.
$idNewInscrit = mysql_insert_id($cnx);
ou
$Pseudo = $_POST['Pseudo'];
$rqIdInscrit = "SELECT IdMembre FROM Membre WHERE Pseudo = '$Pseudo';";
$res = mysql_query($rqIdInscrit, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
$rep = mysql_fetch_row($res);
$idNewInscrit = $rep[0];
//libère les ressources
mysql_free_result($res);
Tu peux maintenant rechercher l'id du compte du parrain
$Parrain = $_POST['Parrain'];
$rqIdParrain = "SELECT IdMembre FROM Membre WHERE Pseudo = '$Parrain';";
$res = mysql_query($rqIdParrain, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
$rep = mysql_fetch_row($res);
$idParrain = $rep[0];
//libère les ressources
mysql_free_result($res);
Et maintenant inscrire l'id du parrain et du filleul dans la table Parrainage
$rqParrainage = "INSERT INTO Parrainage (Filleul, Parrain) VALUES ($idNewInscrit, $idParrain);";
//Execute la requete
$res = mysql_query($rqParrainage, $cnx);
if(!$res)
{
//Gere erreur --> die; (quitte le script)
}
//libère les ressources
mysql_free_result($res);
Voilà en gros un script qui devrait marcher. Je ne garanti pas qu'il n'y ait pas des erreurs de saisie. Bien sur il faut mettre toutes ces instructions dans un fichier PHP commençant <?php et finissant par ?>
Si tu as d'autres questions à ta disposition.
Cdlt,
IC
Salut.
Tu utilises quoi comme langage de programmation ? et comme base de données ?
Pour l'inscription automatique des filleuls dans le compte parrain, lors de la création du compte du filleul, si le nom du parrain est renseigné, une requête recherche l'identifiant du compte du parrain et ajoute un nouvel enregistrement dans une table "Parrainage" indiquant l'identifiant du compte parrain et celui du compte filleul, éventuellement la date et d'autres infos si nécessaire.
Le problème est d'identifier à coup sur et de façon unique le compte du parrain. Une solution peut consister à ce que le filleul fournisse un n° qui permet d'identifier son parrain (une espèce de code de parrainage qui peut être choisi par le parrain lors de la création de son propre compte ou attribué par le système)
Pour la question des 25% de points, une requete lancée à date fixe tous les mois peut te faire ce travail de calcul et de mise à jour sans trop de difficultés je pense.
Voilà quelques pistes.
Cdlt
IC
Tu utilises quoi comme langage de programmation ? et comme base de données ?
Pour l'inscription automatique des filleuls dans le compte parrain, lors de la création du compte du filleul, si le nom du parrain est renseigné, une requête recherche l'identifiant du compte du parrain et ajoute un nouvel enregistrement dans une table "Parrainage" indiquant l'identifiant du compte parrain et celui du compte filleul, éventuellement la date et d'autres infos si nécessaire.
Le problème est d'identifier à coup sur et de façon unique le compte du parrain. Une solution peut consister à ce que le filleul fournisse un n° qui permet d'identifier son parrain (une espèce de code de parrainage qui peut être choisi par le parrain lors de la création de son propre compte ou attribué par le système)
Pour la question des 25% de points, une requete lancée à date fixe tous les mois peut te faire ce travail de calcul et de mise à jour sans trop de difficultés je pense.
Voilà quelques pistes.
Cdlt
IC
Alors merci car vous m'avez assurer (en quelque sorte) que tous cela était possible et sa me rassure car j'ai vraiment besoin de finir mon site assez vite et donc si je sais que c'est possible sa va m'aider. Donc pour ce qui est le systeme de parrainge , je voudrais le faire en php mais un autre langage ne me dérange pas .Quand le filleuls s'inscrit , il faudrait donc faire une requete qui va chercher le pseudo mentionner et après je ne comprend pas ? il faut que sa lui attribue le le filleuls mais comment faire ? si vous pouviez m'aider en m'indiquant précisément ce qu'il faut faire car je suis vraiment nul .Ensuit pour le problème d'identification unique , je prêfert garder le pseudo a la place du nombre . merci
Merci ça a l'air de marcher , je vais modifier pour que sa colle avec ma bdd et sa seras bon . merci beaucoup pour votre aide car j'en avait vraiment besoin . maintenant j'ai un autre problème , pour ce qui est de générer 25% des gains du filleuls au parrains , savez vous comment je pourrais faire ?
merci
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut.
Content que cela t'aide.
Pour les 25 %, le problème est que c'est une opération interne au site et qui doit être faite une fois par mois. Je ne sais pas si tu héberges ton site ou pas et si tu as la possibilité de programmer des tâches sur le serveur. Si oui, le plus simple pour moi est d'écrire un script PHP qui :
se connecte à ta base
recherche tous les inscrits qui possède un parrain
pour chacun d'eux :
récupère le nb de point
calcule 25% du total
releve l'id du parrain
inscrit le résultat dans la table approprié pour le parrain correspondant.
Ce qu'il faut savoir c'est comment tu organises le stockage des points (table séparée ou pas, par mois ou global....). Avoir le schéma d'organisation de ta base serait utile.
Cdlt
IC
Content que cela t'aide.
Pour les 25 %, le problème est que c'est une opération interne au site et qui doit être faite une fois par mois. Je ne sais pas si tu héberges ton site ou pas et si tu as la possibilité de programmer des tâches sur le serveur. Si oui, le plus simple pour moi est d'écrire un script PHP qui :
se connecte à ta base
recherche tous les inscrits qui possède un parrain
pour chacun d'eux :
récupère le nb de point
calcule 25% du total
releve l'id du parrain
inscrit le résultat dans la table approprié pour le parrain correspondant.
Ce qu'il faut savoir c'est comment tu organises le stockage des points (table séparée ou pas, par mois ou global....). Avoir le schéma d'organisation de ta base serait utile.
Cdlt
IC