Inputtext mit Datenbankeintrag vergleichen(PUSH)

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
  • Moin,


    bin gerade an einem System dran und komme irgendwie nicht drauf, wie ich den Eingabetext, also den Inputtext
    vom Spieler, mit einem Datenbankeintrag vergleichen kann. Sagen wir mal es ist ein Sicherheitspasswort, was
    der Spieler bei der Registration angegeben hat. Sein Problem ist, dass er sein Passwort vergessen hat, aber
    sein Sicherheitscode weiß und die Möglichkeit hat sein Passwort zu ändern. Er macht es und ab da will ich halt
    mal wissen, wie ich seine Eingabe mit seinem früheren Datenbankeintrag vergleichen kann.


    /E: PUSH
    Arbeite weiter an diesem System und habe immer noch das Problem mit der Abfrage.
    Habe zwar, wie von einigen vorgeschlagen, via strcmp verglichen, stoße aber jetzt schon seit einigen
    Stunden auf das Problem, dass der weitere Dialog nicht angezeigt wird:



    if(dialogid == DIALOG_PASSCHANGE_CONFIRM)
    {
    if(!response) return SCM(playerid, -1, "Abgebrochen.");
    if(response)
    {
    if(!strcmp(inputtext, Spieler[playerid][SavePass], false))
    {
    ShowPlayerDialog(playerid, DIALOG_CHANGEPASS_TRUE, DIALOG_STYLE_INPUT,"Passwort-Änderung","Achtung: Du bist gerade dabei dein Passwort zu ändern! Mach dir damit bewusst, dass du erneut /saveacc Vorgang\nmachen >> musst <<, denn wenn dein Passwort geändert werden muss, muss auch das Sicherheitspasswort geändert werden!","Ändern","Abbrechen");
    }
    else
    {
    ocmd_changepassword(playerid, "");
    }
    }
    }

    2 Mal editiert, zuletzt von Kristik47 ()

  • Das ist eine gute Idee. Habe es gemacht. Habe zwar keine Errors, aber würde gerne die Warnings loswerden:



    if(!strcmp(inputtext) == Spieler[playerid][SafeCode])


    /*
    C:\Users\User\Desktop\SA-MP Server - MySQL Skripting\gamemodes\GCL.pwn(19374) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA-MP Server - MySQL Skripting\gamemodes\GCL.pwn(19374) : warning 213: tag mismatch
    */


    Ich weiß, was diese Warnings bedeuten, aber ich weiß nicht, was ich dafür einsetzen soll.



    @LeijaT
    @DJ Deagle

  • (Ist der Code ne Zahl oder ein Text?)


    Versuch mal das (wenn es ne Zahl ist)


    Code
    if(strval(inputtext) == Spieler[playerid][SafeCode])

    //e Text
    //e2 Das ! durfte da nicht hin


    Der Code soll einfach nur eine Zeichenkette sein. Also ein String, welcher sowohl aus Zahlen, Buchstaben und sonstigen Zeichen bestehen kann.
    Danke dir für deine Hilfe, aber ich habe mich bereits entschieden, dass System zu überarbeiten -> ich schreibe es jetzt komplett neu und anders.