DIALOG wird bei Registrierung nicht aufgerufen

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 zusammen


    bei der Registration soll neben dem neuen Passwort und der Email Adresse auch das aktuelle Alter abgerufen werden
    Jetzt habe ich einfach den Teil aus dem DIALOG_EMAIL herausgenommen und in DIALOG_AGE eingefügt
    D.h am Ende von DIALOG_EMAIL soll das nicht eingetragen werden sondern halt DIALOG_AGE soll aufgerufen werden


    Dort soll dann alles in die DB eingetragen werden


    Im Script habe ich keine Errors
    Hier mein ProblemCode


    Spoiler anzeigen
    if(dialogid == DIALOG_EMAIL)
    {
    new stringend[1024],email[128];
    if(response)
    {



    SendClientMessage(playerid,-1,"Dein Forumaccount wurde soeben erfolgreich erstellt");
    SendClientMessage(playerid,-1,"Bitte logge dich ein und bestätige deine Email Adresse");
    SetPlayerScore(playerid,1);
    WBB_AddUser ( SpielerName(playerid), email , stringend, playerid );
    SendClientMessage(playerid,-1,"Forum Account erfolgreich erstellt");
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF} Altersangabe","Gib bitte dein reales Alter an","Absenden","");
    SetPVarInt(playerid,"alter",age);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_EMAIL,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF}Email Verfizierung","Gib bitte zur Verfizierung deines Forum Accounts, deine korrekte Email Adresse an!","Absenden","");
    }

    return 1;
    }
    if(dialogid == DIALOG_AGE)
    {

    new stringendd[1024],stringend[1024],query[256],email[128];
    if(response)
    {
    GetPVarString(playerid,"email",stringendd,sizeof(stringendd));
    GetPVarString(playerid,"password",stringend,sizeof(stringendd));
    GetPVarInt(playerid,"alter");
    mysql_escape_string(inputtext,email,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password,email,alter) VALUES ('%s','%s','%s','%i')",SpielerName(playerid),stringend, email,age);
    mysql_function_query(dbhandle,query,false,"","");



    format(string,sizeof(string),"Der Spieler %s wurde erfolgreich im Forum registriert",SpielerName(playerid));
    SCMTOADMIN(string);
    SetSpawnInfo(playerid, 0, 0, 861.1640,-1663.8556,13.5469,272.6934,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF} Altersangabe","Gib bitte dein reales Alter an","Absenden","");
    }
    return 1;

    }


    Vielen Dank für jede hilfreiche antwort



    Zusätzlich funktioniert auch der Spawn nicht
    egal wo ich es einsetze ob bei DIALOG_EMAIL oder DIALOG_AGE wobei DIALOG_AGE nicht aufgerufen wird s.o

  • So :)


    if(dialogid == DIALOG_EMAIL)
    {
    if(response)
    {
    new stringend[1024],email[128],password[50];
    SendClientMessage(playerid,-1,"Dein Forumaccount wurde soeben erfolgreich erstellt");
    SendClientMessage(playerid,-1,"Bitte logge dich ein und bestätige deine Email Adresse");
    SetPlayerScore(playerid,1);
    SetPVarString(playerid,"email",inputtext);
    GetPVarString(playerid,"email",email);
    GetPVarString(playerid,"password",password);
    WBB_AddUser(SpielerName(playerid),email,password,playerid);
    SendClientMessage(playerid,-1,"Forum Account erfolgreich erstellt");
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF} Altersangabe","Gib bitte dein reales Alter an","Absenden","");
    SetPVarInt(playerid,"alter",age);
    return 1;
    }
    return ShowPlayerDialog(playerid,DIALOG_EMAIL,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF}Email Verfizierung","Gib bitte zur Verfizierung deines Forum Accounts, deine korrekte Email Adresse an!","Absenden","");
    }
    else if(dialogid == DIALOG_AGE)
    {
    if(response)
    {
    new stringend[1024],query[256],email[128],password[50];
    GetPVarString(playerid,"email",email);
    GetPVarString(playerid,"password",password);
    SetPVarInt(playerid,"alter",strval(inputtext));
    format(query,sizeof query,"INSERT INTO user (username,password,email,alter) VALUES ('%s','%s','%s',%d)",SpielerName(playerid),password,email,strval(inputtext));
    mysql_function_query(dbhandle,query,false,"","");
    format(query,sizeof(query),"Der Spieler %s wurde erfolgreich im Forum registriert",SpielerName(playerid));
    SCMTOADMIN(query);
    SetSpawnInfo(playerid, 0, 0, 861.1640,-1663.8556,13.5469,272.6934,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    else return ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{37CD00}4RL-Reallife: {FFFFFF} Altersangabe","Gib bitte dein reales Alter an","Absenden","");
    }

  • Kein Problem





    [20:51:11] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    [20:51:11] [WARNING] CMySQLHandle::Create - connection already exists
    [20:52:58] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter) VALUES ('Direct_Player','test','email@test',16)' at line 1




    bitte

  • format(query,sizeof query,"INSERT INTO user (username,password,email,alter) VALUES ('%s','%s','%s',%d)",SpielerName(playerid),password,email,strval(inputtext));
    alter ist ein SQL-Befehl.


    Benenne deine Spalte in MySQL um (zu Age, oder so), oder ändere das Query zu:
    format(query,sizeof query,"INSERT INTO user (username,password,email,`alter`) VALUES ('%s','%s','%s',%d)",SpielerName(playerid),password,email,strval(inputtext));