Besoin aide php et mysql

Résolu
Bonjour,

pour la réalisation de mon site, j'ai prévu une inscription par personne ( le multicomptes sera alors interdit ), mais mon ip ne fait que changer, et donc pour les teste sa marche pas toujours.

Donc j'aimerait savoir si il n'y a pas un autre moyen que:

$_SERVER["REMOTE_ADDR"];

et de comparé a la base de donné.

Et aussi comment faire pour empécher le de mettre un psedo déja inscrit dans la base de donné sans mettre en PRIMARY car elle est déja pour l'ip

Merci infiniment de pouvoir m'aider

3 réponses

  1. Salut.

    Tu n'es pas la seule personne à avoir un IP dynamique. Pour les autres, il suffit de passer par un proxy et ta sécurité est contournée.

    Il n'y a pas vraiment de solution pour éviter qu'une même personne s'inscrive plusieurs fois.

    Personnellement je n'autorise qu'une inscription par adresse email.
    1
    1. Ok merci de ta réponce très claire.

      Aurait tu une idée pour savoir si le variable $psedo est contenu dans la base de dnné??

      Merci pour la résolution de la première question si rapide
      0
  2. Il faut compter le nombre d'entrées dont le champ pseudo est équivalent à la variable $pseudo.

    <?php
    try {
        $pdo = new PDO('mysql:host=localhost;dbname=la_base','root','');
    
        $sql = 'SELECT COUNT(*) AS nb FROM membres WHERE pseudo = '.$pdo->quote($pseudo);
        $req = $pdo->query($sql);
        $data = $req->fetch();
        $nb = $data['nb'];
    
        if($nb > 0) {
            echo 'Le pseudo est déjà pris.';
        } else {
            // Reste des opérations
        }
    } catch (PDOException $e) {
        echo 'Erreur : '.$e->getMessage();
    }
    1
    1. Ok merci de ta rapidité comme l'éclaire.

      Je vais essayer

      Merci infiniment
      0
  3. Merci infiniment avion-f16

    Tout marche!!

    Je te remercie.

    A+ a tous
    0