Registriersystem Probleme! (mysql)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Community,
    ich arbeite an einem Registriersystem in mysql. Als kleine Vorlage habe ich das System von maddin!


    Zum System: Es werden Geschlecht, Alter und Email abgefragt. Vorerst wird es in PVar's abgespeichert und beim erstellen dann aufgerufen.
    Und genau da liegt mein Problem!


    case DIALOG_REGISTER_MAIL:
    {
    if(response)
    {
    if(strfind(inputtext, "@", true) != -1)
    {
    new rPass[128],rAlter,rSex,rMail[256];
    rPass = GetPVarInt(playerid,"Reg_Passwort"); //array must be indexed (variable "rPass")
    rAlter = GetPVarInt(playerid,"Reg_Alter"); // Fehlerfrei
    rSex = GetPVarInt(playerid,"Reg_Geschlecht"); // Fehlerfrei
    rMail = GetPVarInt(playerid,"Reg_Mail"); //array must be indexed (variable "rMail")
    CreateAccount(playerid,rPass,rAlter,rSex,rMail);
    return true;
    }
    else
    {
    kick(playerid);
    return true;
    }
    }
    }


    Und im CreateAccount stock gibt es auch erros...


    stock CreateAccount(playerid, pass[],age,sex,email[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    mysql_real_escape_string(email,email);
    mysql_real_escape_string(age,age); //argument type mismatch(argument 1)
    mysql_real_escape_string(sex,sex);//argument type mismatch(argument 1)
    format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort, eMail, Alter, Geschlecht) VALUES ('%s', '%s', '%s', '%d', '%d')", Name, pass, email, age,sex);
    mysql_query(query);
    return true;
    }


    Ich hoffe einer von euch könnte mir helfen... Bin langsam echt am verzweifeln.
    Falls ihr noch mehr Informationen benötigt, einfach in den Thread schreiben.
    Mfg.

    Mit freundlichen Grüßen

    #define



  • du solltest den unterschied zwischen string und integer lernen..
    Reg_Passwort sollte eigentlich ein string sein jedoch nimmst du GetPVarInt und nicht GetPVarString...


    das gleiche hier: mysql_real_escape_string(age,age);
    age ist wie ich vermute ein integer und kein string

  • Ok, habe es jetzt so gemacht:


    new rPass[128],rAlter,rSex;
    GetPVarString(playerid,"Reg_Passwort",rPass,128);
    rAlter = GetPVarInt(playerid,"Reg_Alter");
    rSex = GetPVarInt(playerid,"Reg_Geschlecht");
    CreateAccount(playerid,rPass,rAlter,rSex,inputtext);
    return true;




    HILFE!


    Jetzt wird garkein Account mehr erstellt!
    Es wird nichts in der Tabelle erstellt -.-

    Mit freundlichen Grüßen

    #define