Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1666 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problème système parrainage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Problème système parrainage

n°2066963
dorian06
Posté le 29-03-2011 à 19:22:20  profilanswer
 

Salut à tous,
 
J'ai mis un système de parrainage sur mon site, à l'inscription il y a un champ "Pseudo du parrain" qui est obligatoire pour l'inscription, si le pseudo du parrain est un vrai pseudo après vérification dans la BDD, sa ajoute 100 crédits au Pseudo du parrain et sa inscrit le nouvel utilisateur mais si le pseudo du parrain n'existe pas dans la BDD, sa dit "Ce parrain n'existe pas" et sa n'ajoute pas 100 crédits au parrain.
 
Mais il y a un problème, quand je m'inscris sur mon site avec un pseudo de parrain qui existe, sa n'ajoute pas l'utilisateur à la BDD et sa dit "Ce parrain n'existe pas" alors qu'il existe :/
 

Code :
  1. <?php
  2. include('includes/header.php');
  3. if(connecte())
  4. { // il est connécté
  5. ?>
  6. <p>Vous êtes déjà connéctés - Impossible de vous inscrire une seconde fois !</p>
  7. <?PHP
  8. }
  9. elseif(!connecte() AND isset($_POST['valider'])) { // il est pas connécté et a validé le formulaire
  10.  $erreur = array();
  11.  if (empty($_POST['pseudo']))
  12.  {
  13.     $erreur[] = 'Le champ Pseudo ne doit pas être vide.';
  14.  }
  15.  if (empty($_POST['mdp']))
  16.  {
  17.     $erreur[] = 'Le champ Mot de passe ne doit pas être vide.';
  18.  }
  19.  if ($_POST['mdpConfirm'] != $_POST['mdp'])
  20.  {
  21.     $erreur[] = 'Les deux motes ne passe ne sont pas identiques.';
  22.  }
  23.  if (empty($_POST['email']))
  24.  {
  25.     $erreur[] = 'Le champ Email ne doit pas être vide.';
  26.  }
  27.  if (empty($_POST['parrain']))
  28.  {
  29.  $erreur[] = 'Le champ parrain ne doit pas être vide.';
  30.  }
  31.  if (!count($erreur))
  32.  {
  33.   $pseudo = securiserVariable($_POST['pseudo']);
  34.   $mdp = HoloHash($_POST['mdp']);
  35.   $email = securiserVariable($_POST['email']);
  36.   $ip = $_SERVER['REMOTE_ADDR'];
  37.   $retour = mysql_query("SELECT COUNT(*) AS nbreEntrees FROM users WHERE pseudo='".$pseudo."'" );
  38.   $donnees = mysql_fetch_array($retour);
  39.   if($donnees['nbreEntrees'] <= 0)
  40.   {
  41.    $creditsAjouter = 100; // Nombre de crédits à ajouter
  42.    $reponse= mysql_query("SELECT COUNT(*) AS pseudo FROM users WHERE pseudo='".mysql_real_escape_string($_POST['parrain'])."'" );
  43.    {
  44.     echo "Ce parrain n'existe pas!";
  45.    }
  46.    if($reponse == 1)
  47.    {
  48.     mysql_query("UPDATE users SET nbrCredits = nbrCredits + $creditsAjouter WHERE pseudo = '".mysql_real_escape_string($_POST['parrain'])."'" ); // On met à jour le nombre de crédits du parrain
  49.     mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','','')" );
  50.     echo 'L\'inscription s\'est déroulée avec succès, vous pouvez maintenant vous connecter.';
  51.     }
  52.   }
  53.   else
  54.   { // Le pseudo n'existe pas donc c'est un pseudo bidon
  55.   
  56.    $erreur[] = 'Ce pseudo est déjà pris par une autre personne';
  57.   }
  58.  }
  59.  else
  60.  {
  61.   $nbrErreur = count($erreur);
  62.   echo '<h3>Il y a '.$nbrErreur.' détectés.</h3>';
  63.    echo '<h3>Liste des erreurs :</h3><ul>';
  64.    foreach($erreur as $erreur) echo "<li>$erreur</li>";
  65.    echo '</ul>';
  66.    echo'Merci de re-remplir le formulaire.';
  67.    echo'
  68.    <br/>
  69.    <br/>
  70.   <form method="post">
  71.   <fieldset>
  72.   <legend>Inscription - MaxComs</legend>
  73.   <label for="pseudo">Pseudo :</label>
  74.   <input type="text" value="" id="pseudo" name="pseudo"/>
  75.   <br/>
  76.   <br/>
  77.   <label for="mdp">Mot de passe :</label>
  78.   <input type="password" value="" id="mdp" name="mdp"/>
  79.   <br/>
  80.   <br/>
  81.   <label for="mdpConfirm">Mot de passe (confirm) :</label>
  82.   <input type="password" value="" id="mdpConfirm" name="mdpConfirm"/>
  83.   <br/>
  84.   <br/>
  85.   <label for="email">Votre Email</label>
  86.   <input type="text" value="" id="email" name="email"/>
  87.   <br/>
  88.   <br/>
  89.   <label for="parrain">Pseudo du parrain :</label>
  90.   <input type="text" value="" id="parrain" name="parrain"/>
  91.   <br/>
  92.   <br/>
  93.   <label for="valider">&nbsp;</label>
  94.   <input type="submit" name="valider" value=" Valider l\'inscription "/>
  95.   <br/>
  96.   <br/>
  97.   </fieldset>
  98.   </form>';
  99.  }
  100. }
  101. else
  102. { // il est pas connécté et n'a pas validé le formulaire
  103. ?>
  104.  <p>Voici ci-dessous le formulaire d'inscription à Maxcoms.</p>
  105.  <p><br><b>Merci de remplir tous les champs (il sont tous obligatoire) !<br><br>
  106.  </form><fieldset>
  107.  <legend><b>ATTENTION :</b></legend>Il est obliger de donnez le pseudo du parrain, c'est à dire le pseudo de la personne qui vous a fais connaître ce site !</fieldset></b></p>
  108.  <form method="post">
  109.  <fieldset>
  110.  <legend>Inscription - MaxComs</legend>
  111.  <label for="pseudo">Pseudo :</label>
  112.  <input type="text" value="" id="pseudo" name="pseudo"/>
  113.  <br/>
  114.  <br/>
  115.  <label for="mdp">Mot de passe :</label>
  116.  <input type="password" value="" id="mdp" name="mdp"/>
  117.  <br/>
  118.  <br/>
  119.  <label for="mdpConfirm">Mot de passe (confirmation) :</label>
  120.  <input type="password" value="" id="mdpConfirm" name="mdpConfirm"/>
  121.  <br/>
  122.  <br/>
  123.  <label for="email">Votre Email :</label>
  124.  <input type="text" value="" id="email" name="email"/>
  125.  <br/>
  126.  <br/>
  127.  <label for="parrain">Pseudo du parrain :</label>
  128.  <input type="text" value="" id="parrain" name="parrain"/>
  129.  <br/>
  130.  <br/>
  131.  <label for="valider">&nbsp;</label>
  132.  <input type="submit" name="valider" value=" Valider l'inscription "/>
  133.  <br/>
  134. <?php
  135. }
  136. include('includes/footer.php');
  137. ?>


 
Merci d'avance !
Dorian.


Message édité par dorian06 le 29-03-2011 à 19:24:21
mood
Publicité
Posté le 29-03-2011 à 19:22:20  profilanswer
 

n°2067048
Paulp
~, sweet ~
Posté le 30-03-2011 à 11:53:11  profilanswer
 

Affiche la requête de récupération du parrain avec un echo et exécute là directement dans la base de données.
Ça te dira si ça merde avant, pendant ou après la requête.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problème système parrainage

 

Sujets relatifs
[Résolu] Problème sur un formulaire de contactProbleme fonction SWITCH SQL ACCESS
Variable PHP dans une fonction JavascriptProblème return char.
Besoin d'aide Php base de donnéeProblème(s) positionnement div
[RESOLU] Problème compilation Visual C++[RESOLU] problème requete SQL 2008
[CSS] Problème d'affichage!Problème de libération (free())
Plus de sujets relatifs à : [PHP] Problème système parrainage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR