problиme de register qui enregistre pas
#1

bonjours a tous j'ai encore un problиme avec mon register -_-... la un gas m'en a scripter un sur son pc il marche il gagne les point ect il ma envoyer le serveur complet et sur mon pc il ne marche pas.

le problиme, donc je rentre pour la premiиre fois sa me demande de m'enregistrer ect ensuit je joue je gagne des sous des point ect je deco je vais voire dans le dossier scriptfiles y a bien le fichier avec mon nom mais le fichier et vierge il a bien йtais crйe mais il est totalement vide et quand je me reco je n'est ni point ni argent et je peut rentrer n'importe qu'elle mot de passe, mais ce que je comprend pas c'est que sur le pc du mec qui me la crйer on la tester tout les 2 heberger ect et la il marche o_O help me svp
Reply
#2

Ne prend jamais de systиme d'enregistrement que tu ne comprends pas.

Soit tu en crйes un toi mкme mais tu t'assures qu'il est performant, soit tu te sers d'un dйjа existant mais postй sur ce forum, de sorte que les autres membres aient pu le lire et pointer les йventuelles failles de sйcuritй. (s_register pour le MySQL par exemple, ou y_users si tu en veux un par fichier)
Reply
#3

merci mais j'ai suivie plusieurs tuto et je comprend pas les registers j'ai un bug mental avec les registers et comme c'est la base de mon serveur donc j'йtais bloquer merci je regarde tes liens

( ce bug s'applique sur tout les game mode complet que j'ai tester et plusieurs fs et toujours le meme bug )
Reply
#4

Il faut savoir quelque chose, un systиme d'inscription ou de connexion est simple, c'est juste une йcriture dans un fichier et une lecture de ce fichier, ce n'est rien de plus.

La plus part du temps lors des systиmes de connexions en Y_INI, DINI, DJSON, etc c'est simple.

Le scripte dйtecte le nom du joueur а la connexion puis va chercher le fichier qui porte son nom dans un dossier quelconque, par la suite si il trouve ce fichier sa lance un code qui rйcupиre les valeurs dans se fichiers (rйcupйration de texte inscrit dans ce fichier), qui va les attribuй а l'йnumйration du joueur (soit le tableaux consacrй au joueur).

Si ce joueur ne possиde pas de compte, on passe а l'йtape d'inscription oщ il entre les informations de bases tel que le mot de passe etc et par la suite on crйer le fichier dans le dossier quelconque, on l'ouvre et on y inscrit un texte soit par exemple "Level=1" ceci est juste un texte rien de bien spйcial, mais l'hors de la lecture de ce code on peut rйcupйrer que le "1" pour le transformer en interger (un nombre entier) et le mettre dans l'йnumйration du joueur.


Ceci n'est pas un tutoriel de scripte mais plutфt le fonctionnement pour vous montrer que c'est pas quelque chose de complexe mais simplement logique.
Reply
#5

oui je c'est le fonctionnement c'est le code que j'arrive pas a me souvenir mais le truc c'est que le bug persiste avec tout les truc que j'ai tester et le bug qui est que mon conte se crйer mais il rentre aucune information dans le fichier donc peut кtre c'est par ce que je suis hйberger en local?
Reply
#6

Le soucis peut venir de plusieurs facteurs,
Si tu n'ouvre pas le fichier au dйbut du scripte, le scripte ne le ferra pas pour toi (il me semble que en Y_INI peut кtre), j'ai dйjа rencontrй le soucis que je fermais pas mon fichier il ne fonctionner pas non plus.

Vйrifie bien que tu ouvre ton fichier au dйpart et que tu le ferme а la fin du code et essaye de voir si tu ouvre un fichier existant (je pense que oui sinon sa crasherai le serveur).

Envoie ton code, on pourra te fournir plus d'aide sur зa.
Reply
#7

@Zenon : Tellement simple que des personnes ayant un doctorat en sйcuritй informatique ont encore du mal а faire des vrais systиmes d'enregistrement sйcurisйs.
Reply
#8

Simple dans le fonctionnement dans des cas simples comme celui d'un serveur, aprиs rajouter des sйcuritйs n'est pas sorcier une fois la base faite.

C'est sur que dans des sites, applications, logiciel etc beaucoup plus complets et visitйs зa peut кtre plus compliquй.
Reply
#9

quand il se connecte

Code:
new name[MAX_PLAYER_NAME]; 
    GetPlayerName(playerid,name,sizeof(name)); 
    if(fexist(Path(playerid))) 
    {
        INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid); 
        ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Connexion","{FFFFFF}Bienvenue ! Ce compte {008000}est enregistrй. \n{FFFFFF}Insйrez votre mot de passe pour vous connecter а votre compte !","Connexion","Quitter");
    }
    else 
    {
        ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Inscription","{FFFFFF}Bienvenue ! Ce compte {FF0000}n'est pas enregistrй.\n{FFFFFF}Entrez un mot de passe pour vous crйer un compte.","Inscription","Quitter");
		return 1;
  	}
quand il se dйconnecte

Code:
	new INI:file = INI_Open(Path(playerid));
	INI_SetTag(file,"Player's Data");
	INI_WriteInt(file,"AdminLevel",pInfo[playerid][Adminlevel]);
	INI_WriteInt(file,"VIPLevel",pInfo[playerid][VIPlevel]);
	INI_WriteInt(file,"Money",GetPlayerMoney(playerid));
	INI_WriteInt(file,"Scores",GetPlayerScore(playerid));
	INI_WriteInt(file,"Kills",pInfo[playerid][Kills]);
	INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]);
	INI_Close(file);
voila les codes
Reply
#10

Pourquoi le return 1 au dessous du dialogue d'inscription ? Enlиve зa, зa sert а rien.
Je vois qu'il n'y a aucun bug dans le code d'enregistrement. Faites de print pour voir si cette derniиre est appelйe.
Du genre comme зa:
PHP Code:
print("joueur enregistrй"); 
au dessous de ton code.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)