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
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
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
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 !
if(strfind(inputtext,"@") ==1)
Das ist schonmal totaler Blödsinn richtig wäre == -1
Und man speichert auch keinen String als int
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
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);
mysql_GetInt sieht so aus:
stock mysql_GetInt(Table[], Field[], Where[], Is[]){
new query[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();
new sqlint = mysql_fetch_int();
mysql_free_result();
return sqlint;
}
Alles anzeigen
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
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);
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
ZitatReturns The number of characters before the sub string (the sub string's start position) or -1 if it's not found.
Problem gefixxed !