Wysłany: 2017-01-05, 16:49
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
Masz racje. W OnPlayerConnect takie zapytanie daj
Pawn format ( String , 108 , "SELECT * FROM `Gracze` WHERE `Nick` = '%s' LIMIT 1" , PlayerName ( playerid ));
mysql_query (String);
mysql_store_result ();
if(! mysql_num_rows ())
{
//Nie ma konta
}
else
{
//Ma konto
}
mysql_free_result ();
A tamten kod co poda?e? w OnDialogResponse od pobrania danych.
Wysłany: 2017-01-05, 17:38
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Ok, w OnPlayerConnect da?em taki kod:
Pawn new mstring [ 200 ];
format ( mtring , sizeof ( mstring ), "SELECT * FROM `Gracze` WHERE `Nick` = '%s' LIMIT 1" , PlayerName ( playerid ));
mysql_query ( mstring );
mysql_store_result ();
if( mysql_num_rows ())
{
ShowPlayerDialog ( playerid , LoginDialog , DIALOG_STYLE_PASSWORD , "Logowanie" , "Witaj ponownie!\n\n{C0C0C0}Wpisz has?o do konta aby si? zalogowa?." , "Zaloguj" , "Wyjd?" );
}
else
{
ShowPlayerDialog ( playerid , RegisterDialog , DIALOG_STYLE_PASSWORD , "Zak?adanie konta (1/2)" , "Aby utworzy? konto, najpierw ustaw swoje has?o\n\n{C0C0C0}- Has?o musi zawiera? od 5 do 20 znak?w\n{C0C0C0}- Wielko?? liter ma znaczenie" , "Zarejestruj" , "Wyjd?" );
}
mysql_free_result ();
w dialogu z logowaniem mam co? takiego:
Pawn if( response )
{
if( strcmp ( inputtext , pGracz [ playerid ][ Haslo ], false ))
{
if( ZleHaslo [ playerid ] == 2 ) return ShowPlayerDialog ( playerid , HasloNaEmailDialog , DIALOG_STYLE_MSGBOX , "Logowanie" , "Wygl?da na to, ?e zapomnia?e?/a? has?a.\n\n{C0C0C0}Kliknij na 'E-MAIL' aby zresetowa? has?o,\nlub 'Wyjd?' aby opu?ci? serwer." , "E-MAIL" , "Wyjd?" );
ZleHaslo [ playerid ]++;
ShowPlayerDialog ( playerid , LoginDialog , DIALOG_STYLE_PASSWORD , "Logowanie" , "{FF0000}Niepoprawne has?o!\n\n{C0C0C0}Wpisz poprawne, lub kliknij 'Wyjd?' aby opu?ci? serwer." , "Zaloguj" , "Wyjd?" );
}else{
if( pGracz [ playerid ][ PierwszaGra ] == 1 ) return Tutorial ( playerid );
new mstring [ 2000 ];
format ( mstring , sizeof mstring , "SELECT `Email`, `IP`, `Pieniadze`, `PunktyScore`, `Skin`, `PunktyKarne`, \
`Zlecen`, `Poszukiwany`, `Kanister`, `Kajdanki`, `Mute`, `MuteTime`, `Jail`, `JailTime`, \
`Blokada`, `CzasBlokady`, `AdminLVL`, `Police`, `PierwszaGra`, `X_Pos`, `Y_Pos`, `Z_Pos`, `A_Pos` FROM `Gracze` WHERE `Nick` = '%s' AND `Haslo` = MD5('%s') LIMIT 1" , PlayerName ( playerid ), pGracz [ playerid ][ Haslo ]);
mysql_fetch_row ( mstring , "|" );
mysql_free_result ();
sscanf ( mstring , "p<|>s[30]s[17]iiiiiiiiiiiiiiiiiffff" , pGracz [ playerid ][ Email ], pGracz [ playerid ][ IP ],
pGracz [ playerid ][ Pieniadze ], pGracz [ playerid ][ PunktyScore ], pGracz [ playerid ][ Skin ], pGracz [ playerid ][ PunktyKarne ],
pGracz [ playerid ][ Zlecen ], pGracz [ playerid ][ Poszukiwany ], pGracz [ playerid ][ Kanister ],
pGracz [ playerid ][ Kajdanki ], pGracz [ playerid ][ Mute ], pGracz [ playerid ][ MuteTime ],
pGracz [ playerid ][ Jail ], pGracz [ playerid ][ JailTime ], pGracz [ playerid ][ Blokada ], pGracz [ playerid ][ CzasBlokady ],
pGracz [ playerid ][ AdminLVL ], pGracz [ playerid ][ Police ], pGracz [ playerid ][ PierwszaGra ],
pGracz [ playerid ][ X_Pos ], pGracz [ playerid ][ Y_Pos ], pGracz [ playerid ][ Z_Pos ], pGracz [ playerid ][ A_Pos ]);
SendClientMessage ( playerid , SYSCOLOR , "{A0A0A0}Info: {FFFFFF}Zalogowano poprawnie! Przeniesiono Ci? do Twojej ostatniej pozycji." );
IsLoggedIn [ playerid ] = true ;
SpawnPlayer ( playerid );
SetPlayerSkin ( playerid , pGracz [ playerid ][ Skin ]);
ResetPlayerMoney ( playerid );
GivePlayerMoney ( playerid , pGracz [ playerid ][ Pieniadze ]);
SetPlayerScore ( playerid , pGracz [ playerid ][ PunktyScore ]);
SetPlayerPos ( playerid , pGracz [ playerid ][ X_Pos ], pGracz [ playerid ][ Y_Pos ], pGracz [ playerid ][ Z_Pos ]);
SetPlayerFacingAngle ( playerid , pGracz [ playerid ][ A_Pos ]);
}
i teraz jak wykorzysta? Tw?j kod?: Kod: new AntiSQLInjection[18];
mysql_real_escape_string(inputtext, AntiSQLInjection);
PS i w kt?rym miejscu pobiera? Has?o? W tym pierwszym czy w drugim?
Wysłany: 2017-01-05, 19:02
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
Trzymaj gotowca. Do logowania:
Pawn if( response )
{
new mstring [ 2000 ], AntiSQLInjection [ 18 ] /*Tu pami?taj ?e da?em przyk?adow? wielko?? kom?rki, daj tyle ile has?o b?dzie mie? znak?w + delikatny zapas kilku znak?w*/ ;
mysql_real_escape_string ( inputtext , AntiSQLInjection );
format ( mstring , sizeof mstring , "SELECT `Email`, `IP`, `Pieniadze`, `PunktyScore`, `Skin`, `PunktyKarne`, \
`Zlecen`, `Poszukiwany`, `Kanister`, `Kajdanki`, `Mute`, `MuteTime`, `Jail`, `JailTime`, \
`Blokada`, `CzasBlokady`, `AdminLVL`, `Police`, `PierwszaGra`, `X_Pos`, `Y_Pos`, `Z_Pos`, `A_Pos` FROM `Gracze` WHERE `Nick` = '%s' AND `Haslo` = MD5('%s') LIMIT 1" , PlayerName ( playerid ), AntiSQLInjection );
mysql_query ( mstring );
mysql_store_result ();
if(! mysql_num_rows ())
{
//Nie znaleziono konta lub b??dne has?o wpisa?
mysql_free_result ();
if( ZleHaslo [ playerid ] == 2 )
return ShowPlayerDialog ( playerid , HasloNaEmailDialog , DIALOG_STYLE_MSGBOX , "Logowanie" , "Wygl?da na to, ?e zapomnia?e?/a? has?a.\n\n{C0C0C0}Kliknij na 'E-MAIL' aby zresetowa? has?o,\nlub 'Wyjd?' aby opu?ci? serwer." , "E-MAIL" , "Wyjd?" );
ZleHaslo [ playerid ]++;
ShowPlayerDialog ( playerid , LoginDialog , DIALOG_STYLE_PASSWORD , "Logowanie" , "{FF0000}Niepoprawne has?o!\n\n{C0C0C0}Wpisz poprawne, lub kliknij 'Wyjd?' aby opu?ci? serwer." , "Zaloguj" , "Wyjd?" );
return 1 ;
}
if( pGracz [ playerid ][ PierwszaGra ] == 1 )
return Tutorial ( playerid );
mysql_fetch_row ( mstring , "|" );
sscanf ( mstring , "p<|>s[30]s[17]iiiiiiiiiiiiiiiiiffff" , pGracz [ playerid ][ Email ], pGracz [ playerid ][ IP ],
pGracz [ playerid ][ Pieniadze ], pGracz [ playerid ][ PunktyScore ], pGracz [ playerid ][ Skin ], pGracz [ playerid ][ PunktyKarne ],
pGracz [ playerid ][ Zlecen ], pGracz [ playerid ][ Poszukiwany ], pGracz [ playerid ][ Kanister ],
pGracz [ playerid ][ Kajdanki ], pGracz [ playerid ][ Mute ], pGracz [ playerid ][ MuteTime ],
pGracz [ playerid ][ Jail ], pGracz [ playerid ][ JailTime ], pGracz [ playerid ][ Blokada ], pGracz [ playerid ][ CzasBlokady ],
pGracz [ playerid ][ AdminLVL ], pGracz [ playerid ][ Police ], pGracz [ playerid ][ PierwszaGra ],
pGracz [ playerid ][ X_Pos ], pGracz [ playerid ][ Y_Pos ], pGracz [ playerid ][ Z_Pos ], pGracz [ playerid ][ A_Pos ]);
mysql_free_result ();
SendClientMessage ( playerid , SYSCOLOR , "{A0A0A0}Info: {FFFFFF}Zalogowano poprawnie! Przeniesiono Ci? do Twojej ostatniej pozycji." );
IsLoggedIn [ playerid ] = true ;
SpawnPlayer ( playerid );
SetPlayerSkin ( playerid , pGracz [ playerid ][ Skin ]);
ResetPlayerMoney ( playerid );
GivePlayerMoney ( playerid , pGracz [ playerid ][ Pieniadze ]);
SetPlayerScore ( playerid , pGracz [ playerid ][ PunktyScore ]);
SetPlayerPos ( playerid , pGracz [ playerid ][ X_Pos ], pGracz [ playerid ][ Y_Pos ], pGracz [ playerid ][ Z_Pos ]);
SetPlayerFacingAngle ( playerid , pGracz [ playerid ][ A_Pos ]);
}
Tablica mstring jest zdecydowania za du?a, ale kto jak woli.
Wysłany: 2017-01-06, 01:34
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Super, wszystko pi?knie dzia?a! Dzi?kuj? za po?wi?cony czas!
Tagi: rejestracja :: mysql
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: