unerklärliche Errors im Login und Register System

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.


    Ich habe das Problem das ich unerklärliche Errors habe.
    Es hat mir schon eine Person versucht zu helfen aber er weiß auch nicht mehr weiter. Nun frage ich mal hier ob mir eventuell jemand helfen kann.


    Errors:

    Code
    (285) : error 010: invalid function or declaration
    (287) : error 010: invalid function or declaration
    (289) : error 010: invalid function or declaration
    (291) : error 010: invalid function or declaration
    (294) : error 021: symbol already defined: "Spielername"
    (294) : error 029: invalid expression, assumed zero
    (294) : error 021: symbol already defined: "Spielername"
    (294) : fatal error 107: too many error messages on one line


    Hier einmal das gescripte von OnDialogResponse:


    Mfg

  • Du hattest einen Klammerfehler drin, und mehrere Syntaxfehler.
    Außerdem kannst du mit mysql_format direkt über %e strings einlesen, dann sparst du dir das mysql_real_escape_string.


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new query[256], key[50];
    if(dialogid == DIALOG_REGISTER)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrierung", "In der Datenbank wurde kein Account mit diesem Namen gefunden.\nBitte registrieren Sie sich:", "Anmelden", "Abbrechen");
    format(key, 50, "%s", inputtext);
    mysql_format(Handle, query, sizeof(query), "INSERT INTO (username, passwort) VALUES ('%e',MD5('%e'))", Spielername(playerid), key);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, "Dein Account wurde erfolgreich erstellt.");
    GivePlayerMoney(playerid, 10000);
    SetPlayerScore(playerid, 1);
    return 1;
    }
    if(dialogid == DIALOG_LOGIN)
    {
    if(!response)
    {
    return Kick(playerid);
    }
    format(key, 50, "%s", inputtext);
    mysql_format(Handle, query, sizeof(query), "SELECT * FROM user WHERE username='%e' AND password='%e'", Spielername(playerid), key);
    mysql_tquery(Handle, query, "OnPasswordResponse", "i", playerid);
    return 1;
    }
    return 0;
    }

  • Hallo.


    Sorry für die späte Antwort allerdings habe ich erst heute mitm Script weitergemacht.
    Ich habe das nun eingefügt, allerdings bekomme ich jetzt noch 4 Errors:


    Code
    (339) : error 017: undefined symbol "query"
    (339) : error 017: undefined symbol "query"
    (339) : error 029: invalid expression, assumed zero
    (339) : fatal error 107: too many error messages on one line


    Die Zeile 339:


    Code
    format(query, sizeof(query), "UPDATE user SET Geld='%i',Level='%i' WHERE username='%s'", GetPlayerMoney(playerid), GetPlayerScore(playerid), Spielername(playerid));


    Mfg