PDA

Просмотр полной версии : [Вопрос] Email адресс



Геннадий Акимов
29.08.2015, 12:08
Здравствуйте! пытаюсь написать систему Email
ну у меня Email не сохраняеться не чего :(

players/user:

Email =

И хочу поставить проверку на @gmail.com что бы регистрировала тока если в конце Email был @gmail.com


case 2:
{
if(!response)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "players/%s.ini",sendername);
fremove(string);
return true;
}
SPD(playerid, 3, DSI, "{F25B5B}@gmail.com(Google Аккаунт)", "{FFFFFF}Введите ваш адрес Google аккаунта'", "Далее", "");

L0ndl3m
29.08.2015, 12:47
У вас есть массив, который хранит почтовый ящик игрока?

Геннадий Акимов
29.08.2015, 14:48
нет вот все что есть !

Геннадий Акимов
31.08.2015, 09:50
Up....

gangzone.ini
31.08.2015, 11:31
pEmail[64]
В PlayerInfo

$continue$
31.08.2015, 11:46
pEmail[64]
В PlayerInfo

Мало.

Геннадий Акимов
31.08.2015, 13:54
Мало.

это я уже сделал все равно ((

#Vito
31.08.2015, 15:28
Используйте проверку strfind

if(strfind(inputtext, "@gmail.com", true) == -1) return SendClientMessage(playerid, -1, "Неверный формат @gmail адреса!");

Далее, чтоб записать mail в массив:


strmid(PlayerInfo[playerid][pMail], inputtext, 0, strlen(inputtext), 64);

Ну и сохраняйте в файл.

Геннадий Акимов
31.08.2015, 17:57
Используйте проверку strfind

if(strfind(inputtext, "@gmail.com", true) == -1) return SendClientMessage(playerid, -1, "Неверный формат @gmail адреса!");

Далее, чтоб записать mail в массив:


strmid(PlayerInfo[playerid][pMail], inputtext, 0, strlen(inputtext), 64);

Ну и сохраняйте в файл.

Спасибо большое очень помог

L0ndl3m
31.08.2015, 18:03
#Vito, если игрок введёт только строку "@gmail.com" его пропустит дальше.

#Vito
31.08.2015, 19:25
#Vito, если игрок введёт только строку "@gmail.com" его пропустит дальше.
Тогда можно сделать проверку на общий размер inputtext через strlen
Например
if(strlen(inputtext) < 15) return 1;
Другого решения пока не могу придумать.
С удовольствием посмотрю на Ваш вариант.

$continue$
01.09.2015, 00:05
Тогда можно сделать проверку на общий размер inputtext через strlen
Например
if(strlen(inputtext) < 15) return 1;
Другого решения пока не могу придумать.
С удовольствием посмотрю на Ваш вариант.

regex



#define IsValidRpName(%1) \
regex_match(%1, "([A-Z]{1,1})[a-z]{2,9}+_([A-Z]{1,1})[a-z]{2,9}")


А вот это на счет максимальной дилны email addreas'a
http://i.imgur.com/YJrc1z9.png

Ссылка на плагин (http://forum.sa-mp.com/showthread.php?t=247893)

#Vito
01.09.2015, 01:12
Лично я бы не стал подключать плагин из-за одной системы.
Если он конечно не используется..

Геннадий Акимов
01.09.2015, 12:56
Ребята ! тема ещё актуальна жду хорошего ответа )))

- - - Добавлено - - -

Ребята ! тема ещё актуальна жду хорошего ответа )))

L0ndl3m
01.09.2015, 15:16
regex



#define IsValidRpName(%1) \
regex_match(%1, "([A-Z]{1,1})[a-z]{2,9}+_([A-Z]{1,1})[a-z]{2,9}")

Ссылка на плагин
RpName?

А вообще, регулярки и похожие проверки не могут гарантировать то, что игрок ввёл существующий e-mail адрес, либо же ввёл верно, но с ошибкой.
Кроме как проверить существование почтового ящика с помощью стандартной функции HTTP идей не приходит.

$continue$
01.09.2015, 15:37
RpName?

А вообще, регулярки и похожие проверки не могут гарантировать то, что игрок ввёл существующий e-mail адрес, либо же ввёл верно, но с ошибкой.
Кроме как проверить существование почтового ящика с помощью стандартной функции HTTP идей не приходит.

Спать хотел, не заметил что не тот макрос из темы взял.
На счёт HTTP, если не секрет какими методами? Первым линком в Google выдает следующие:
http://i.imgur.com/gMio10d.png
А вот если попробовать погуглить: "Как проверить email на валидность PHP":
http://i.imgur.com/Hc7yIbY.png
Так что, без регулярок не куда. Делаем систему вида: Вводим email -> чекаем регуляркой -> отправляем код подтверждение -> открываем диалог -> Uзверь должен туда ввести этот код -> чекаем его -> не правильный просим ещё раз ввести.
Да, даже если такое возможно - запрос может и сломаться :crazy:

L0ndl3m
01.09.2015, 17:40
Да, даже если такое возможно - запрос может и сломаться :crazy:

Почему сломается?

$continue$
01.09.2015, 17:41
Почему сломается?

Ответ от машины можно не получить например. Выключиться сервер (машина). Причин достаточно.