PDA

Просмотр полной версии : [Вопрос] Некорректное сохранение



Elaid
26.12.2014, 16:18
В общем, при вводе почты, у меня почему то не сохраняется второй символ моего email адреса, а именно символ "d', парадокс в том, что у меня две буквы "d".


https://pp.vk.me/c621424/v621424894/525e/ko3KgRiZFJ0.jpg
Если картинки не показалась (https://pp.vk.me/c621424/v621424894/525e/ko3KgRiZFJ0.jpg)


Я делал все по уроку, вроде бы правильно. Смотрим:



case dRegPass:
{
ShowPlayerDialog(playerid, dRegMail, INPUT, "{87CEEB}Почтовый ящик", "{FFFFFF}Для продолжения регистрации вам необходимо указать вашу электронную почту\nЭто надежнее обезапасит ваш аккаунт от взлома!\n\n{c2c2c2}Подробнее о способах защиты от злоумышленников\nвы смоеже прочитать на нашем сайте или на /guide\n", "Ввести", "Выход");

if(!strlen(inputtext)) return ErrorDialogMessage(playerid, dRegPass, 0);
else if(strlen(inputtext) < 4) return ErrorDialogMessage(playerid, dRegPass, 1);
else if(strlen(inputtext) > 30) return ErrorDialogMessage(playerid, dRegPass, 2);
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'a'..'z', 'A'..'Z': continue;
default: return ErrorDialogMessage(playerid, dRegPass, 3);
}
}
strins(pInfo[playerid][pPassword], inputtext, 0);

return 1;
}
case dRegMail:
{
ShowPlayerDialog(playerid,dRegSex,MSGBOX,"{87CEEB}Пол вашего персонажа","{FFFFFF}Выберите пол вашего персонажа:\n","Мужской","Женский");

if(!strlen(inputtext)) return ErrorDialogMessage(playerid, dRegMail, 0);
else if(strlen(inputtext) < 4) return ErrorDialogMessage(playerid, dRegMail, 1);
else if(strlen(inputtext) > 20) return ErrorDialogMessage(playerid, dRegMail, 2);
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '@', '.', '0'..'9', 'a'..'z', 'A'..'Z': continue;
default: ErrorDialogMessage(playerid, dRegMail, 3);
}
}
strins(pInfo[playerid][pEmail], inputtext, 0);
return 1;
}


+ создаем аккаунт:



stock CreateAccount(playerid, password[])
{
new query_string[70+MAX_PLAYER_NAME+30];
format(query_string, sizeof(query_string), "INSERT INTO `accounts` (`name`, `password`, `email`, `sex`) VALUES ('%s', '%s', '%s', '%d')", pInfo[playerid][pName], password, pInfo[playerid][pEmail], pInfo[playerid][pSex]);
mysql_function_query(mysql_variable, query_string, false, "", "");


format(query_string, sizeof(query_string), "Регистрация аккаунта {FFFFFF}(%s){32CD32} прошла успешно!", pInfo[playerid][pName]);
SendMe(playerid, 0x32CD3200, query_string);

SpawnPlayer(playerid);
return 1;
}

и сохранение его при выходе:


stock SaveAccount(playerid)
{
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)];
format(query_string, sizeof(query_string), "UPDATE `accounts` SET `name`= '%s', `password` = '%s', `email` = '%s', `sex` = '%d' WHERE `ID` = '%d'", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pEmail], pInfo[playerid][pSex], pInfo[playerid][pID]);
mysql_function_query(mysql_variable, query_string, false, "", "");

return 1;
}

wAx
26.12.2014, 17:04
Попробуй свое мыло провести напрямую через SQL в MyAdmin.