Sziasztok,
Csináltam egy mysql regisztrációs systemet,de nem nagyon akar funkcionálni.
Az a baj ,hogy vagy mindig a login ablak jön ki, és akkor mindig hibás a jelszó.Vagy ha megcserélem akkor mindig a regisztráció ,és akkor meg is csinálja az accountot,csak ha újra belépek akkor megint a regisztráció jön ki.
Ugye az elején kiválasztom ,az összes mezõt, ahol a játékos neve a nevünk.
Ha a sorok száma nem 0 akkor bejelentkezek.És különben ,regisztrálok.
A pawn nem talált semmit.
mysql_connect(SQL_HOST, SQL_USER,SQL_DB, SQL_PASS); //OnGameModeInitnél csatlakozunk a mysql-hez.
public OnPlayerConnect(playerid)
{
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev,24);
new parancs[200];
format(parancs, 200, \"SELECT * FROM `playerinfo` WHERE `pNev` = \'%s\'\",nev);
mysql_query(parancs);
if(mysql_num_rows() != 0)
{
ShowPlayerDialog(playerid, Dialog_Login,DIALOG_STYLE_INPUT,\"Belentkezés\",\"Üdv\\nTe már regisztráltál,írd be a jelszavad.\",\"Bejelentkezek\",\"Mégse\");
}
else
{
ShowPlayerDialog(playerid, Dialog_Register,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Üdv\\nTe még nem regisztráltál,írd be a jelszavad.\",\"Regisztrálok\",\"Mégse\");
}
mysql_connect(SQL_HOST, SQL_USER,SQL_DB, SQL_PASS); //OnGameModeInitnél csatlakozunk a mysql-hez.
public OnPlayerConnect(playerid)
{
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev,24);
new parancs[200];
format(parancs, 200, \"SELECT * FROM `playerinfo` WHERE `pNev` = \'%s\'\",nev);
mysql_query(parancs);
mysql_store_result( );
if(mysql_num_rows() > 0)
{
ShowPlayerDialog(playerid, Dialog_Login,DIALOG_STYLE_INPUT,\"Belentkezés\",\"Üdv\\nTe már regisztráltál,írd be a jelszavad.\",\"Bejelentkezek\",\"Mégse\");
}
else
{
ShowPlayerDialog(playerid, Dialog_Register,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Üdv\\nTe még nem regisztráltál,írd be a jelszavad.\",\"Regisztrálok\",\"Mégse\");
}
mysql_free_result( );
Nos most próbálom megcsinálni ,de egyszerûen nem menti az accountot.Egyszer mentette amikor nem volt betéve a login rész.Most kivettem a login részt még mindig nem menti.
//Ez az ongamemodeinit nél van.
mysql_connect(SQL_HOST, SQL_USER,SQL_DB, SQL_PASS);
//Ez az onplayerconnect alatt.
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev,24);
new parancs[200];
format(parancs, 200, \"SELECT * FROM `playerinfo` WHERE `pNev` = \'%s\'\",nev);
mysql_query(parancs);
mysql_store_result( );
if(mysql_num_rows() > 0)
{
ShowPlayerDialog(playerid, Dialog_Login,DIALOG_STYLE_INPUT,\"Belentkezés\",\"Üdv\\nTe már regisztráltál,írd be a jelszavad.\",\"Bejelentkezek\",\"Mégse\");
}
else
{
ShowPlayerDialog(playerid, Dialog_Register,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Üdv\\nTe még nem regisztráltál,írd be a jelszavad.\",\"Regisztrálok\",\"Mégse\");
}
//Ez pedig a register dialognál.
if(dialogid == Dialog_Register)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, Dialog_Register,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Üdv\\nTe még nem regisztráltál,írd be a jelszavad.\",\"Regisztrálok\",\"Mégse\");
}
new parancs[200],nev[24];
new sqlnev[24],sqlpass[64];
GetPlayerName(playerid,nev,24);
mysql_real_escape_string(inputtext,sqlpass);
mysql_real_escape_string(nev,sqlnev);
format(parancs,200,\"INSERT INTO `playerinfo` (`pNev`,`pJelszo`) VALUES (\'%s\',\'%s\')\",sqlnev,sqlpass);
mysql_query(parancs);
IsLogged[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen regisztráltál a szerverre.\");
}
else {
ShowPlayerDialog(playerid, Dialog_Register,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Üdv\\nTe még nem regisztráltál,írd be a jelszavad.\",\"Regisztrálok\",\"Mégse\");
}
}