MySQL login/register sistem

Započeo #bokenzi, Jul 30, 2020, 10:24:17 PRE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

MySQL Login/Register sistem



Nadam se da sam sve objasnio detaljno na videu, a prilozio sam vam i gotov kod
Poslednja Izmena: Jul 30, 2020, 10:29:28 PRE PODNE od #bokenzi

Evo ovo je pravi gotov kod, zabunom sam stavio nebitne stvari u temi --> https://pastebin.com/s7HWBNJy

[pawn]Name[25],[/pawn]
Bespotrebno, limit je 18 na konektovanju, samo pomocu native-a moze biti 24 ili duze (klan tagovi sto niko na balkanu ne koristi)

if(Database == MYSQL_INVALID_HANDLE || mysql_errno(Database) != 0)
Glupost, ostaviš samo mysql_errno :)

[pawn]mysql_format(Database, str, sizeof(str), "SELECT * FROM `users` WHERE `Username` = '%e' LIMIT 1", PI[playerid][Name]);[/pawn]
Zašto bi selektovao sve ???
I ispod nemaš corrupt proveru što će tebi itekako trebati jer vidim da imaš onu AUTIZAM bazu podataka

[pawn]PogresnaLozinka[playerid] = 0;[/pawn]
Ovo stvarno nema potrebe da ide pod OnPlayerConnect nego samo ako igrac ima nalog

[pawn]public OnPlayerDisconnect(playerid, reason) {
   SavePlayer(playerid);
   return 1;
}[/pawn]
Ja ne znam po koji put treba da kažem da ne koristite MySQL kao Y_INI, jel ste debili ili da?

[pawn]forward LoadAccount(playerid);
public LoadAccount(playerid) {
   new rows;
   cache_get_row_count(rows);
   if(!rows) return 0;
   else {
      cache_get_value_int(0, "ID", PI[playerid][ID]);
      cache_get_value_int(0, "Score", PI[playerid][Score]);
   }
   return 1;
}[/pawn]
Jebem ti ženo majku joooooj...

[pawn]public OnGameModeExit() {
   foreach(new a: Player) {
       SavePlayer(a);
   }
   mysql_close(Database);
   return 0;
}[/pawn]
FEJS PALM

[pawn]stock SavePlayer(playerid) {
   new str[256];
   mysql_format(Database, str, sizeof(str),"UPDATE `users` SET `Score` = %d WHERE `ID` = %d LIMIT 1", PI[playerid][Score], PI[playerid][ID]);
   mysql_tquery(Database, str);
   return 1;
}[/pawn]
ISUSE BOOOOOOOOOOOOOOOOŽE

[pawn]stock GetName(playerid) {
   new name[MAX_PLAYER_NAME];
   GetPlayerName(playerid, name, sizeof(name));
   return name;
}[/pawn]
Bespotrebno, include si YSI utils time što si #include <YSI_Data\y_iterate> pa imaš već ReturnName

I kao šlag na tortu da dodam da ti je kod prekršio svako pravilo imenovanja, stilizovanja i da smrdi na mrtvog rakuna

Ako kopiraš kod iz engleskog tutoriala bar ostavi credits negde (tutorial je veoma loš i star da se razumemo)

Više grešaka nego linija, E moj Bokenzi "pro" """skripteru"""...



Rust, Python, TypeScript, Kotlin, WebAssembly, Swift, Clojure, Elixir, Go, SQL

Citat: Alhemičar poslato Jul 31, 2020, 13:47:24 POSLE PODNE
[pawn]Name[25],[/pawn]
Bespotrebno, limit je 18 na konektovanju, samo pomocu native-a moze biti 24 ili duze (klan tagovi sto niko na balkanu ne koristi)

if(Database == MYSQL_INVALID_HANDLE || mysql_errno(Database) != 0)
Glupost, ostaviš samo mysql_errno :)

[pawn]mysql_format(Database, str, sizeof(str), "SELECT * FROM `users` WHERE `Username` = '%e' LIMIT 1", PI[playerid][Name]);[/pawn]
Zašto bi selektovao sve ???
I ispod nemaš corrupt proveru što će tebi itekako trebati jer vidim da imaš onu AUTIZAM bazu podataka

[pawn]PogresnaLozinka[playerid] = 0;[/pawn]
Ovo stvarno nema potrebe da ide pod OnPlayerConnect nego samo ako igrac ima nalog

[pawn]public OnPlayerDisconnect(playerid, reason) {
   SavePlayer(playerid);
   return 1;
}[/pawn]
Ja ne znam po koji put treba da kažem da ne koristite MySQL kao Y_INI, jel ste debili ili da?

[pawn]forward LoadAccount(playerid);
public LoadAccount(playerid) {
   new rows;
   cache_get_row_count(rows);
   if(!rows) return 0;
   else {
      cache_get_value_int(0, "ID", PI[playerid][ID]);
      cache_get_value_int(0, "Score", PI[playerid][Score]);
   }
   return 1;
}[/pawn]
Jebem ti ženo majku joooooj...

[pawn]public OnGameModeExit() {
   foreach(new a: Player) {
       SavePlayer(a);
   }
   mysql_close(Database);
   return 0;
}[/pawn]
FEJS PALM

[pawn]stock SavePlayer(playerid) {
   new str[256];
   mysql_format(Database, str, sizeof(str),"UPDATE `users` SET `Score` = %d WHERE `ID` = %d LIMIT 1", PI[playerid][Score], PI[playerid][ID]);
   mysql_tquery(Database, str);
   return 1;
}[/pawn]
ISUSE BOOOOOOOOOOOOOOOOŽE

[pawn]stock GetName(playerid) {
   new name[MAX_PLAYER_NAME];
   GetPlayerName(playerid, name, sizeof(name));
   return name;
}[/pawn]
Bespotrebno, include si YSI utils time što si #include <YSI_Data\y_iterate> pa imaš već ReturnName

I kao šlag na tortu da dodam da ti je kod prekršio svako pravilo imenovanja, stilizovanja i da smrdi na mrtvog rakuna

Ako kopiraš kod iz engleskog tutoriala bar ostavi credits negde (tutorial je veoma loš i star da se razumemo)

Više grešaka nego linija, E moj Bokenzi "pro" """skripteru"""...

Kada si tako iskusan ajde ostavi jedan sistem dobar za mysql, treba meni.

Ne mogu ja za tebe da normalizujem bazu i nemam ni sličan način skriptanja kao osobe ovde, ako ti ja ostavim kod morao bih da učiš svaki library koji sam koristio što ti se baš i ne isplati :)



Rust, Python, TypeScript, Kotlin, WebAssembly, Swift, Clojure, Elixir, Go, SQL

Citat: Alhemičar poslato Avgust 01, 2020, 01:11:34 PRE PODNE
Ne mogu ja za tebe da normalizujem bazu i nemam ni sličan način skriptanja kao osobe ovde, ako ti ja ostavim kod morao bih da učiš svaki library koji sam koristio što ti se baš i ne isplati :)
Mislim da si malo preterao sa zamerkama gore...

credits: Xunder, Ino420, Muma

Citat: Pottus;3903994SetPlayerPos("dreni1998", 666.666, 666.666, 666.666, 666.666);    ///// GO IN HELL MOTHERFUCKER

https://i.imgur.com/XHLx9oj.gif
https://i.ibb.co/ZJqQKWT/NXRX.gif

Citat: ᗪ卂乂 poslato Avgust 01, 2020, 01:46:31 PRE PODNE
Mislim da si malo preterao sa zamerkama gore...
Svaku mogu da opravdam objašnjenjem od 10 paragrafa zašto ne treba tako, ako misliš suprotno slobodno napiši da vidim...



Rust, Python, TypeScript, Kotlin, WebAssembly, Swift, Clojure, Elixir, Go, SQL

Citat: Alhemičar poslato Avgust 01, 2020, 01:48:00 PRE PODNE
Svaku mogu da opravdam objašnjenjem od 10 paragrafa zašto ne treba tako, ako misliš suprotno slobodno napiši da vidim...
Čemu to toliko kurčenje po forumu bezpotrebna stvar  :-[

credits: Xunder, Ino420, Muma

Citat: Pottus;3903994SetPlayerPos("dreni1998", 666.666, 666.666, 666.666, 666.666);    ///// GO IN HELL MOTHERFUCKER

https://i.imgur.com/XHLx9oj.gif
https://i.ibb.co/ZJqQKWT/NXRX.gif

Citat: ᗪ卂乂 poslato Avgust 01, 2020, 01:49:17 PRE PODNE
Čemu to toliko kurčenje po forumu bezpotrebna stvar  :-[
Ne razumeš, da Bokenzi nije poslao ovu temu ne bih ni odgovorio na nju...

Jednostavno me dečko nervira, nema kurčenja kad ne skriptam, imam posao radim skroz nešto drugo tako da ono...

I imam pravo da napišem svoje mišljenje tako da ono, zašto da uči ljude pogrešno...



Rust, Python, TypeScript, Kotlin, WebAssembly, Swift, Clojure, Elixir, Go, SQL

Citat: ᗪ卂乂 poslato Avgust 01, 2020, 01:49:17 PRE PODNE
Čemu to toliko kurčenje po forumu bezpotrebna stvar  :-[
Ne zamermi mu , ipak je on ,,Bukvalno najbolji skripter balkana sta nije jasno?,,

Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Avgust 01, 2020, 12:17:07 POSLE PODNE
Ne zamermi mu , ipak je on ,,Bukvalno najbolji skripter balkana sta nije jasno?,,
Slobodno ko misli suprotno neka traži script battle, mogu bez problema da rešim :P

Znaci po meni na najlaksi nacin sam snimio tutorijal kako napraviti log/reg mysql koji fino radi i sprema u databazu odredjene podatke. Nisam ni ja nikakav profi, MySQL sam naucio prije 2 mjeseca, ne znam previse oko njega, ali ovo sto sam znao sam podjelio na ovaj forum jer bih mozda nekome pomoglo. A i ne znam cemu tolko kurcenje oko detalja koda, jesi ti mozda neki koji sam te bloko na fb zbog takvih stvari? ::)

Citat: #bokenzi poslato Avgust 03, 2020, 18:33:14 POSLE PODNE
Znaci po meni na najlaksi nacin sam snimio tutorijal kako napraviti log/reg mysql koji fino radi i sprema u databazu odredjene podatke. Nisam ni ja nikakav profi, MySQL sam naucio prije 2 mjeseca, ne znam previse oko njega, ali ovo sto sam znao sam podjelio na ovaj forum jer bih mozda nekome pomoglo. A i ne znam cemu tolko kurcenje oko detalja koda, jesi ti mozda neki koji sam te bloko na fb zbog takvih stvari? ::)
Prijatelju, nemoj da učiš ljude pogrešno pa ti neću pisati ništa loše (logično).

Nemaš ti prava da otvaraš tutorijale sa ovakvim "znanjem".

Citat: Alhemičar v2 poslato Avgust 03, 2020, 19:31:11 POSLE PODNE
Prijatelju, nemoj da učiš ljude pogrešno pa ti neću pisati ništa loše (logično).

Nemaš ti prava da otvaraš tutorijale sa ovakvim "znanjem".
Nije to nista pogresno, postoji puno nacina da se to uradi, eto na primjer jednog.
Ako ti mislis da ja ucim ljude pogresno, onda kao sto si napravio temu za timere gdje cesto ljudi grijese, napravi temu i za mysql log/reg :)
P.S: Nisam gledao sa neta pa copy/paste system, nego me je jedan od boljih skriptera to naucio u roku od 2h
Poslednja Izmena: Avgust 03, 2020, 19:38:41 POSLE PODNE od #bokenzi

Citat: #bokenzi poslato Avgust 03, 2020, 19:36:15 POSLE PODNE
Nije to nista pogresno, postoji puno nacina da se to uradi, eto na primjer jednog.
Ako ti mislis da ja ucim ljude pogresno, onda kao sto si napravio temu za timere gdje cesto ljudi grijese, napravi temu i za mysql log/reg :)
P.S: Nisam gledao sa neta pa copy/paste system, nego me je jedan od boljih skriptera to naucio u roku od 2h
Da, učiš ljude pogrešno.

Dečko pogledao sam tvoj poslednji tutorijal i imaš više greški nego koda, ostavio sam komentar, u PETLJI STAVLJAŠ SELECTTEXTDRAW?!?!