01.01.2011, 06:01
Vc vai precisar disso:
OBS: Vc deve pensar em uma maneira de evitar um e-mail repetido , porйm nao serб possivel fazer isso se nгo for usar banco de dados , se vc naum optar dessa maneira, vc sу podera verificar email repetidos dos usuarios logados ou de outras formas que sгo muito piores em questao de desempenho.
OBS: Vc deve pensar em uma maneira de evitar um e-mail repetido , porйm nao serб possivel fazer isso se nгo for usar banco de dados , se vc naum optar dessa maneira, vc sу podera verificar email repetidos dos usuarios logados ou de outras formas que sгo muito piores em questao de desempenho.
pawn Код:
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "uso: /comprar email");
return 1;
}
if(ValidEmail(result) == 0)
{
//email invalido
return 1;
}
new sql[128];
format(sql, sizeof(sql), "SELECT email FROM `Jogadores` WHERE Email='%s'",result);
mysql_query(sql);
if (mysql_num_rows() > 0)
{
//email jб registrado.
return 1;
}
//
strmid(PlayerInfo[playerid][pEmail], result, 0, strlen(result), 255);
//sql update email .. etc....
stock ValidEmail(email[])
{
new len = strlen(email), cstate=0;
for(new i=0;i<len;i++)
{
if (len<6) return false;
if ((cstate==0 || cstate==1) && (email[i]>='A' && email[i]<='Z') || (email[i]>='a' && email[i]<='z') || (email[i]=='.') || (email[i]=='-') || (email[i]=='_'))
{
}
else
{
if ((cstate==0) &&(email[i]=='@'))
{
cstate=1;
}
else
{
return false;
}
}
}
if (cstate == 0) return false;
if ((email[len-3]=='.') || (email[len-4]=='.') || (email[len-5]=='.')) return true;
return false;
}