• 03 Mai 2025, 21:39:30


Auteur Sujet: Création d'un Serveur RP, avec forum et site internet. Problème de script.  (Lu 740 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Vince284

  • *
  • Nouveau
  • Messages: 7
    • Voir le profil
Bien les bonjours chers communauté, je vous écris suite à quelques soucis.

Alors voila le problème, je souhait créer mon serveur SAMP en relation avec un site et un forum. Pour ce qui est du forum j’utilise un PHPBB3. Par conséquent les informations des joueur seront enregistrer dans une base de donné SQL. Je suis donc obligé d’utiliser le plugins samp_mysql.

Alors voila j’ai essayé de créer un script qui comparer le Nom du joueur qui se connecte au serveur et les Nom des joueur qui sont dans la base de donné. Le but étant de voir si le joueur c’est enregistrer préalablement sur le site.

La base de données est plus ou moins comme sa:
user_id     Name       Password
0Jean058749
1Bidule964874
2GuyGuy624789


public MySQLconnection()
{

    //--------------------------------------------------------------------------
    new Name[128];
new DB_Name[128];
new DB_Name2[128];
new query[128];
new user_id = 0;
new result[256];

Name = "Heritrix [Crawler]";
DB_Name = "";
DB_Name2 = "0";
   
samp_mysql_connect("127.0.0.1", "root", "");
samp_mysql_select_db("gta avalon forum");

    if(strcmp(Name,DB_Name, false) == 0)
{
    user_id++;

format (query, sizeof(query), "SELECT username FROM phpbb_users WHERE user_id = %d", user_id);
printf (query);
samp_mysql_query(query);
samp_mysql_store_result();
samp_mysql_fetch_row(DB_Name);

printf ("*");
printf (DB_Name);
printf ("*");


if (strcmp(Name,DB_Name, true) == 0)
{
format (result, sizeof(result), "L'utilisateur %d existe.", Name);
printf (result);
}

if (strcmp(DB_Name,DB_Name2, true) == 0)
{
format (result, sizeof(result), "L'utilisateur %d n'existe pas.", Name);
printf (result);
}
    DB_Name2 = DB_Name;


}
    //--------------------------------------------------------------------------
    samp_mysql_close();
}


Alors la variable Name c'est le nom du joueur qui essaye de se connecter, La variable DB_Name c'est la variable qui a été récupérer dans la base de donné et la variable DB_Name2 c'est le nom qui a été récupère avant avant qu'on incrément user_id.

La dans mon code j'ai mis un nom o pif qui été dans ma base de donné. Bon mon code n'est pas correcte j'espère que vous allé pouvoir m'aidé, car le but est de lire tout les nom de la base de donné, si le nom existe on fera un test du password et sinon si le joueur n'existe pas on lui envoi un message pour lui dire de s'inscrire sur le site.


Au début j'avais essayé avec "while(strcmp(Name,DB_Name, false) == 0)"

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
ta requete est completement foireuse tu recherche pas un nom mais un id

la requete correcte serait plutot SELECT user_id FROM phpbb_user WHERE username='PSEUDO', si ta un resultat c'est que le compte existe sinon il existe pas

sinon bonne merde pour comparer le mot de passe vu que phpbb a un hash special il me semble :/

Hors ligne Vince284

  • *
  • Nouveau
  • Messages: 7
    • Voir le profil
Je me suis débrouillé pour que ma base de donné soit un claire plutôt qu'avec leur hash MD5 modifier...  :D En tout cas merci pour ta réponse.

Double post
En tout cas merci car ta requête, elle simplifie beaucoup mon code, cependant je ne sais pas comment savoir si la variable "user_id" est égale a rien du tout ou a un chiffre.

J'ai utiliser ceci mais sa ne fonctionne pas...
if (strcmp(user_id,"",false) == 0)
{
format (result, sizeof(result), "L'utilisateur %s existe.", Name);
printf (result);
}

Double post
Excuser moi mais je n'ai toujours pas réussi a faire ce que je voulais. Le souci c'est que maintenant je doit comparé une variable qui est une chaine de caractère, donc si elle est égale a rien du tout l'utilisateur n'existe pas, sinon si c'est égale a un chiffre quelconque l'utilisateur existe. Mais je ne sais pas comment je doit mis prendre pour faire ceci. Je vous remercie d'avance pour votre aide.
« Modifié: 10 Juin 2009, 13:17:31 par Vince284 »