Guten Abend,
Ich habe ein Problem. Und zwar habe ich eine Registerfunktion erstellt bei der es in einer MySQL Tabelle den Spielernamen und das Passwort beim Registrieren einspeichert.
Nur wenn ich auf meinen Server gehe und mich registriere und danach auf die Datenbank schaue, dann sehe ich zwar, dass der Spielername richtig eingetragen wurde aber bei Passwort nicht das eingegebene Passwort steht sondern "&s".
Hier alles was dazu gehört (Registerfunktion läuft über einen Dialog):
Ganz oben im Script (Unter den Includes):
#define Dialog_Register 1
Bei "OnPlayerConnect" steht:
//Register & Login
new Spielername[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,Spielername,sizeof(Spielername));
format(query,sizeof(query),"SELECT ID FROM Accounts WHERE Spielername='%s'",Spielername);
mysql_function_query(MySQL_Verbindung,query,true,"OnUserCheck","i",playerid);
return 1;
Hier das bei "OnPlayerConnect" erstellte Public:
public OnUserCheck(playerid)
{
new num_rows,num_flieds;
cache_get_data(num_rows,num_flieds,MySQL_Verbindung);
if(num_rows==0)
{
//Registrierung
ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"Registrierung","Passwort eingeben\n{FF0000}(Text wird noch überarbeitet)","Registrieren","Abbrechen");
}
else
{
//Login
}
return 1;
}
Und hier das was bei OnDialogResponse steht:
if(dialogid==Dialog_Register)
{
if(response)
{
new Spielername[MAX_PLAYER_NAME],query[128],Passwort[24];
GetPlayerName(playerid,Spielername,sizeof(Spielername));
if(strlen(inputtext)>3)
{
//Registrierungsfunktion
mysql_escape_string(inputtext,Passwort,MySQL_Verbindung);
format(query,sizeof(query),"INSERT INTO accounts(spielername,passwort) VALUES('%s','%s') ",Spielername,Passwort);
mysql_function_query(MySQL_Verbindung,query,false,"","");
}
else
{
//Passwort zu kurz
SendClientMessage(playerid,Rot,"Das eingegebene Passwort war zu kurz(Mindestens 3 Zeichen)!");
ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"Registrierung","Passwort eingeben\n{FF0000}(Text wird noch überarbeitet)","Registrieren","Abbrechen");
}
}
else
{
//Register Dialog Abgebrochen
Kick(playerid);
return 1;
}
}
Wie bekomme ich nun hin, dass das gewünschte Passwort auch richtig in der MySQL Tabelle steht ? Immer wenn ich das Passwort eingebe, wird in die Tabelle nur "&s" eingetragen.
Mit freundlichen Grüßen:
HyperSkillzZ ak Matthias