Comment comparer des données ?!

jordan -  
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J ai cherché des tuto mais je n en ai pas trouvé pour ce que je cherche a faire..

Je détiens un site sur lequel je rétribue les utilisateurs à des inscriptions sur des campagnes acceptant l'incentive.

Il n'y a qu'un seul compte par ip autorisé...mais afin d'éviter les fraudes (utilisation de proxy), je souhaite faire un script qui m affiche dans la partie admin, les comptes suspect...

Pour cela je souhaiterai que le script compare le mot de passe de chaque utilisateur et que si le mot de passe est identique pour 2 comptes differents, il m'affiche les pseudos des comptes en question...

J'ai tenté en faisant :

<?
include ('dbconnect.php');
 
// on crée la requete SQL
$sql = "SELECT motdepasse, id, pseudo FROM membres WHERE motdepasse='motdepasse'";
 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
 
if (mysql_num_rows($req) > 0)
{
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
        {       
                echo        '<table width="541" height="96" border="1">
               <tr>
                 <td width="77"><div align="center"><strong>id</strong></div></td>
                 <td width="150"><div align="center"><strong>pseudo</strong></div></td>
                  </tr>
               <tr>
                 <td><div align="center">'.$data['id'].'</div></td>
                 <td><div align="center">'.$data['pseudo'].'</div></td>
                  </tr>
        </table>';
        }
        }
// on ferme la connexion à mysql
mysql_close();
?>


Mais cela ne marche pas...Pourriez vous m'aider svp??

Merci
A voir également:

5 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

ça me parait bancale comme histoire, mais bon !
mieux vaut chercher les doublons que de boucler sur les champs de la table.

select motdepasse, count(motdepasse), id, pseudo  from membres  group by membres having count(membres ) >1;


ça ne retournera que les mot de passe en double.
0
jordan
 
Bonjour Dalida,

Ce n'est pas si bancal car j'ai dans ma base plusieurs compte avec des nom, prenoms, mails, ip différentes...mais avec les memes mot de passe ! Je veux bien qu il y ai des personnes utilisant le meme mot de passe mais pas avec 3 comptes differents ouvert la meme journee...

Ce script me permettrait de gagner du temps...

Sinon J ai l erreur suivante avec ton code...

Erreur SQL !
select motdepasse, count(motdepasse), id, pseudo from membres group by membres having count(membres ) >1
Unknown column 'membres' in 'group statement'

merci
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
a ba vi !
mais si tu corriges pas les con****es que j'écris, ça peut pas marcher !
lol

ça doit plutôt être :
select motdepasse, count(motdepasse), id, pseudo from membres group by motdepasse having count(motdepasse) >1 
0
jordan
 
ah vi oki !

Effectivement ca marche...mais il y a un petit hic...

En fait il m affiche uniquement un des pseudo concerne...

Exemple : jojo a le mot de passe 12345 et koko a le mot de passe 12345...eh ben il me retourne soit jojo soit koko mais pas jojo et koko...

C est possible de faire ca docteur ? :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
essai sans le 'GROUP BY'
select motdepasse, count(motdepasse), id, pseudo from membres having count(motdepasse) >1 
0