Besoin aide php et mysql

Résolu/Fermé
cyr421 Messages postés 17 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 16 octobre 2010 - 3 juil. 2010 à 09:27
cyr421 Messages postés 17 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 16 octobre 2010 - 3 juil. 2010 à 10:55
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

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 juil. 2010 à 09:38
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
cyr421 Messages postés 17 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 16 octobre 2010
Modifié par cyr421 le 3/07/2010 à 10:18
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
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 juil. 2010 à 10:28
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
cyr421 Messages postés 17 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 16 octobre 2010
3 juil. 2010 à 10:43
Ok merci de ta rapidité comme l'éclaire.

Je vais essayer

Merci infiniment
0
cyr421 Messages postés 17 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 16 octobre 2010
3 juil. 2010 à 10:55
Merci infiniment avion-f16

Tout marche!!

Je te remercie.

A+ a tous
0