@ enthalten.. + 60 PSC !

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
  • Hi @All,


    kann mir wer sagen wie es geht, das man überprüft ob in dem Satz ein @ ist..?


    Kenne nur das if(strlen(inputtext) > )


    Danke schonma ;)

    2 Mal editiert, zuletzt von |GXR|B3ar ()

  • if(strfind(inputtext,"@")!=1)
    wenn das nicht geht


    new bool:found;
    for(new i,l=strlen(inputtext);i!=l;i++)
    {
    if(inputtext[i]='@') found=true; break;
    else found = false;
    }
    if(found)// was passieren soll

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Oke es geht ehm wenn ich es speicher will zeigt er mir nix an..


    Speichern:


    mysql_SetInt("Accounts","Email",SpielerInfo[playerid][Email],"Name",name);


    Laden:


    SpielerInfo[playerid][Email] = mysql_GetInt("Accounts","Email","Name", name);


    Tutorial:


    new el = inputtext[30];
    if(strfind(inputtext,"@")!=1)
    {
    SendClientMessage(playerid,Rot,"Falsche E-Mail. Es muss ein '@' enthalten sein.");
    ShowPlayerDialog(playerid,DIALOG_TUTE,DIALOG_STYLE_INPUT,"Tutorial - 4","Gebe bitte deine E-Mail aus Sicherheitsgründen ein.","Fortfahren","");
    return 0;
    }
    if(strfind(inputtext,"@") ==1)
    {
    SpielerInfo[playerid][Email] = el;
    return 1;
    }


    Bitte Helft mir ! :/

  • Ah okay, aber so geht es auch.. oke gut ich schreibs so um..


    Wie muss ich denn speichern? komm mit mysql noch nicht so klar..

  • die Mysql funktionen die du benutzt sind nicht viel anders auf gebaut als die dini funktionen die haben nur ein where extra...


    deine EMail in einen string packen -> speichern

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Kannst mir das machen..? Ich check grad irg. wie gar nix mehr :/

  • Wie muss ich denn speichern? komm mit mysql noch nicht so klar..

    Wir kennen deine Funktionen leider nicht. mysql_GetInt ist eine selbsterstellte Funktion (oder gibts das in einer MySQL-Include?). Den Query würdest du auf jeden fall so aufstellen:
    format(query, 128, "UPDATE Accounts SET Email = %s WHERE Name = %s", SpielerInfo[playerid][Email], name);

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • mysql_GetInt sieht so aus:


  • hast du die Funktionen aus Maddins Mysql Installations TuT wenn ja da ist doch mysql_GetString und SetString dabei !



    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[]){
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(To, To);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }



    stock mysql_GetString(Table[], Field[], Where[], Is[]){
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }





    EDIT:


    mysql_SetString("DATENBANKNAME", "ARRAYINTABELLE",inputtext ,"Name", namevomspieler);




    EDIT BEIM LADEN IN STRING PACKEN


    format(SpielerInfo[playerid][Email] ,64,"%s",mysql_GetString ("Accounts","Email","Name", name));




    und oben im enum muss halt Email[64] stehen

    2 Mal editiert, zuletzt von Ahlican ()

  • laden: format(SpielerInfo[playerid][Email],64,"%s",mysql_GetString("Accounts","Email","Name",name));


    oben steht halt email[64];


    speichern: mysql_SetString("Accounts","Email",SpielerInfo[playerid][Email],"Name",name);


    liegt es daran..?


    new el = inputtext[30];
    if(strfind(inputtext,"@")!=1)
    {
    SendClientMessage(playerid,Rot,"Falsche E-Mail. Es muss ein '@' enthalten sein.");
    ShowPlayerDialog(playerid,DIALOG_TUTE,DIALOG_STYLE_INPUT,"Tutorial - 4","Gebe bitte deine E-Mail aus Sicherheitsgründen ein.","Fortfahren","");
    return 0;
    }
    if(strfind(inputtext,"@") ==1)
    {
    SpielerInfo[playerid][Email] = el;
    return 1;
    }

  • du musst auch im input dialog die var email in einen string formatieren


    format(SpielerInfo[playerid][Email] ,64,"%s",inputtext);


    Nein muss er nicht, geht auch so!


    MfG

  • Jetzt kommt immer die Meldung falsche email ..


    if(response == 1)
    {
    if(strfind(inputtext,"@")!=1)
    {
    SendClientMessage(playerid,Rot,"Falsche E-Mail. Es muss ein '@' enthalten sein."); //Die kommt immer
    ShowPlayerDialog(playerid,DIALOG_TUTE,DIALOG_STYLE_INPUT,"Tutorial - 4","Gebe bitte deine E-Mail aus Sicherheitsgründen ein.","Fortfahren","");
    return 0;
    }
    if(strfind(inputtext,"@") == -1) //Laut BlackAce
    {
    SendClientMessage(playerid,Grün,"yeah");
    format(SpielerInfo[playerid][Email],64,"%s",inputtext);
    return 1;
    }
    }


  • if(strfind(inputtext,"@",true) != 0)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTE,DIALOG_STYLE_INPUT,"Tutorial - 4","Gebe bitte deine E-Mail aus Sicherheitsgründen ein.","Fortfahren","");
    return SendClientMessage(playerid,Rot,"Falsche E-Mail. Es muss ein '@' enthalten sein."); //Die kommt immer
    }




    versuch das mal

  • Ist ja peinlich,was man hier für Hilfe bekommt ...


    if(response == 1)
    {
    /*
    if(strfind(inputtext,"@")!=1)
    {
    SendClientMessage(playerid,Rot,"Falsche E-Mail. Es muss ein '@' enthalten sein."); //Die kommt immer
    ShowPlayerDialog(playerid,DIALOG_TUTE,DIALOG_STYLE_INPUT,"Tutorial - 4","Gebe bitte deine E-Mail aus Sicherheitsgründen ein.","Fortfahren","");
    return 0;
    }
    */
    // Wegen return 0 wird die Funktion beendet und die Abfrage von BlackAce wird nicht durchgeführt ...
    if(strfind(inputtext,"@") != -1) //Laut BlackAce,ja mit !
    {
    SendClientMessage(playerid,Grün,"yeah");
    format(SpielerInfo[playerid][Email],64,"%s",inputtext);
    return 1;
    }
    }


    strfind != -1 fragt ab,ob der substring IRGENDWO im Text gefunden wurde !
    -1 ist KEIN Treffer
    Alle Zahlen von 0 bis X bedeuten,dass an dieser Stelle der substring gefunden wurde ( 0 , 1, 2 oder 324) .


    Nachhilfe:
    strfind

    Zitat

    Returns The number of characters before the sub string (the sub string's start position) or -1 if it's not found.

  • Problem gefixxed !

    3 Mal editiert, zuletzt von |GXR|B3ar ()