• 0
Syndicate Stormquez

Вопрос по поводу регистрации.

Вопросы

При прохождение регистрации в диалоге ввода Email, меня не пропускает дальше к следующему диалогу. Причина этого - неверный Email.

Спойлер

case DLG_REGEMAIL:
  		{
		        if(!strlen(inputtext))
				{
					SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					return SCM(playerid, COLOR_RED, "[Ошибка] {c9cdcf}Введите ваш Email!");
	    		}
	    		new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9._-]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
				if(regex_check(inputtext, rg_emailcheck))
	    		{
		    		strmid(player_info[playerid][Email], inputtext, 0, strlen(inputtext), 64);
		    		SPD(playerid, DLG_REGREF, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод пригласившего",
						"{c9cdcf}Введите NickName пригласившего, еслм он есть.",
					"Далее", "Пропустить");
				}
				else
				{
				    SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					 return SCM(playerid, COLOR_RED, "[Îøèáêà] {c9cdcf}Укажите верный Email адрес!");
				}
				regex_delete(rg_emailcheck);
		}

 

 

 

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0

В целом все должно работать если ввести корректный Email-адрес. К примеру: pawn@bk.ru

Единственное что можно добавить в регулярное выражение, так это то чтобы обязать игрока вводить точку. Выглядеть это будет так: 

^[a-zA-Z0-9._-]{1,43}@[a-zA-Z]{1,12}\\.[a-zA-Z]{1,8}$

 

Отредактировано пользователем punkochel

Поделиться сообщением


Ссылка на сообщение
  • 0
case DLG_REGEMAIL:
  		{
		        if(!strlen(inputtext))
				{
					SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					return SCM(playerid, COLOR_RED, "[Ошибка] {c9cdcf}Введите ваш Email!");
	    		}
	    		new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9.-_]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
				if(regex_check(inputtext, rg_emailcheck))
	    		{
		    		strmid(player_info[playerid][Email], inputtext, 0, strlen(inputtext), 64);
		    		SPD(playerid, DLG_REGREF, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод пригласившего",
						"{c9cdcf}Введите NickName пригласившего, если он есть.",
					"Далее", "Пропустить");
				}
				else
				{
				    SPD(playerid, DLG_REGEMAIL, DSI, "{f9c520}Регистрация{c9cdcf} • Ввод Email",
						"{c9cdcf}Введите вашу настояющую электронную почту, чтобы продолжить регистрацию.\n\
						Если вы потеряете доступ к аккаунту, то его можно будет восстановить.",
					"Далее", "");
					 return SCM(playerid, COLOR_RED, "[Îøèáêà] {c9cdcf}Укажите верный Email адрес!");
				}
				regex_delete(rg_emailcheck);
		}

Попробуй так

Поделиться сообщением


Ссылка на сообщение
  • 0

@punkochel  нет панели регистрации. Что делать?

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент