Limiter le multi-compte en PHP

Utilisateur anonyme -  
 Info -
Bonjour,

Je voudrais limiter le multi-compte à 3 compte/par IP mais j'ai un script qui bloquer directe à partir de 1 compte le voila :

else if ($IP = $IP) // Si l'ip est dans la BDD
{
echo ("<strong>Vous disposer déjà d'un compte dans notre base de données !! Inscription annulé</strong>");
}

Donc je voulais avoir un nouveau script pour limiter les comptes à 3.

4 réponses

  1. chris05 Messages postés 374 Statut Membre 28
     
    Ben tu comptes le nombre de fois ou l'IP est dans la BDD.

    Exemple vite fait :

    select count(*) from table where IP=$IP;

    Si résultat >3, affiche ton message d'erreur....
    0
  2. Utilisateur anonyme
     
    Merci mais je l'ai remplacé comme tu m'as dit else if select count(*) from table where IP=$IP;

    mais sa ne marche pas sa me fait une erreur

    je suis un peux nul en php
    0
    1. chris05 Messages postés 374 Statut Membre 28
       
      Il faudrait que j'ai + de code pour t'aider...

      Il y a quoi avant le else if ?

      D'ou vient $IP ?
      0
    2. Utilisateur anonyme
       
      je peux te donner ma page d'inscription entière ?
      0
    3. chris05 Messages postés 374 Statut Membre 28
       
      Tu peux mettre le fichier sur http://cijoint.fr/ si tu veux, que j'y jette un oeil....
      0
    4. Utilisateur anonyme
       
      l'extension php ne peut être déposée je change le format je .txt au pire ?
      0
    5. chris05 Messages postés 374 Statut Membre 28
       
      non c bon bouge pas ;)
      0
  3. Utilisateur anonyme
     
    <?php session_start();
    require_once('config.php');
    require_once('config2.php'); ?>
    <?php include('header.php')?>
    <?php include('menu.php')?>
    </div>
    <div class="wrap-content">
    <div id="box_758">
    <div class="top">
    <img src="images/theme/title/inscrire.png">
    </div><div class="back">
    <div class="box_top"></div>
    <div class="box">
    <?php
    $bdd=mysql_connect($host,$user,$pass); // On se connecte à MySQL
    mysql_select_db($db); // On se connecte à la BDD "ancestra_other"

    if(isset($_POST['ok']))
    {
    $pseudo = mysql_real_escape_string(htmlspecialchars(trim($_POST['pseudo']) ) );
    $username = mysql_real_escape_string(htmlspecialchars(trim($_POST['username']) ) );
    $pass = mysql_real_escape_string(htmlspecialchars(trim($_POST['pass']) ) );
    $pass2 = mysql_real_escape_string(htmlspecialchars(trim($_POST['pass_confirm']) ) );
    $email = mysql_real_escape_string(htmlspecialchars(trim($_POST['email']) ) );
    // Ajouter par Sirgue
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    $IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
    elseif(isset($_SERVER['HTTP_CLIENT_IP']))
    $IP = $_SERVER['HTTP_CLIENT_IP'];
    else
    $IP = $_SERVER['REMOTE_ADDR'];
    $question = mysql_real_escape_string(htmlspecialchars(trim($_POST['question']) ) );
    $reponse = mysql_real_escape_string(htmlspecialchars(trim($_POST['reponse']) ) );
    // Ajouter par Sirgue

    if (exi($username) != '0') // Si le nom de compte est déjà utiliser
    {
    echo ("<center><strong>Le nom de compte : '". $username ."' est déjà utilisé, veuillez en choisir un autre...</strong></center>");
    }
    else if (exi3($pseudo) != '0') // Si le pseudo est déjà utiliser
    {
    echo ("<center><strong>Le pseudo : '". $pseudo ."' est déjà utilisé, veuillez en choisir un autre...</strong></center>");
    }
    else if ($pass != $pass2) // Si les deux mots de passe sont diférent
    {
    echo ("<center><strong>Les deux mots de passe ne sont pas identiques, veuillez recommencer...</strong></center>");
    }
    else if (!$_POST['username'] || !$_POST['pass'] || !$_POST['pass_confirm'] || !$_POST['email']) // Si les champs sont vides
    {
    echo ("<center><strong>Vous devez remplir tout les champs !</strong></center>");
    }
    else if ($IP = $IP) // Si l'ip est dans la BDD
    {
    echo ("<strong>Vous disposer déjà de 3 comptes dans notre base de données !! Inscription annulé</strong>");
    }

    // Ajouter par Sirgue
    else
    {
    echo '<center><strong>Vous êtes maintenant inscrit ! Vous pouvez des maintenant jouer sur notre serveur! <center><a href="join.php">Telecharger Uplauncher</a></center></strong></center>';
    mysql_query("INSERT INTO accounts (account, pass, level, email, lastIP, question, reponse, pseudo) VALUES ('$username', '$pass', 0, '$email', '$IP', '$question', '$reponse', '$pseudo')") or die (mysql_error() );
    mysql_close($bdd);
    $result = @mysql_query("SELECT * FROM accounts WHERE account = '$account'");

    }
    }?><?php include('footer.php')?>

    Enfete j'ai 2 page PHP pour l'inscription celle l'a enfete c'est tout ce qui est au niveau Vérification du compte
    0
    1. chris05 Messages postés 374 Statut Membre 28
       
      Test un truc du genre :

      else if ($IP = $IP) // Si l'ip est dans la BDD
      {
      	$test = mysql_query("select count(*) from accounts where lastIP='.$IP.'");
      	if ($test>3)
      	{
      		echo ("<strong>Vous disposer déjà de 3 comptes dans notre base de données !! Inscription annulé</strong>");
      	}
      }
      
      0
    2. Utilisateur anonyme
       
      ok attend je teste
      0
    3. Utilisateur anonyme
       
      sa me fait comme quoi je dispose de 3 compte dans la bdd mais que jen n'ai que 2
      0
    4. chris05 Messages postés 374 Statut Membre 28
       
      ??? Bizarre...
      0
    5. chris05 Messages postés 374 Statut Membre 28
       
      Mais déja cette ligne m'intrigue :

       else if ($IP = $IP)


      Le probleme vient de la !
      0