Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

Правильно ли сделан код?

Рекомендованные сообщения

Не пойму, как идет проверка на наличие логина в базе данных. В файле \applications\core\modules\front\system\register.php вроде нету, а подключение core.front.system.register только в нем и одном js файле.

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


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

Не пойму, как идет проверка на наличие логина в базе данных. В файле \applications\core\modules\front\system\register.php вроде нету, а подключение core.front.system.register только в нем и одном js файле.

 

Вам оно зачем, если Ваши поля не связаны с именами юзеров?

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


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

Я хочу сделать проверку логина в своей внешней базе (игрового ника).

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


Ссылка на сообщение
Я хочу сделать проверку логина в своей внешней базе (игрового ника).
Пишите подробнее, где и что должно быть.

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


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

Вот код модуля по регистрации игрового ника во внешней базе денных, функция addpvpgn.

Я хочу сделать чтобы при вводе логина (игровой ник во внешней БД) проверялось его наличие, и в случае нахождения выдавало ошибку как на скрине.

BNetAccount.php

post-60255-0-26952400-1534401448_thumb.png

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


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

Я хочу сделать чтобы при вводе логина (игровой ник во внешней БД) проверялось его наличие, и в случае нахождения выдавало ошибку как на скрине.

Без нажатия на кнопку? Ввел и получил результат?

Если так, то там используется ajax. См.

		/**
	 * Fires an ajax request to check whether the username is already in use
	 * Updates the result element depending on the result
	 *
	 * @returns 	{void}
	 */
	_doCheck: function (type, field) {

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


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

Не, не для моих это мозгов. Я думал будет что-то примерно:

 

$form->add( new \IPS\Helpers\Form\Text( 'username', NULL, TRUE, array( 'accountUsername' => $переменная, в которой записан результат выборки из БД ) ) );

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


Ссылка на сообщение
'accountUsername' => $переменная, в которой записан результат выборки из БД
Забудьте про accountUsername
Не, не для моих это мозгов
Сделайте на submit. Юзер отправил форму -> идет проверка на ник.

 

$form->add( new \IPS\Helpers\Form\Text( 
'username', 
NULL, 
TRUE, 
array(),
function ($value)
{
	$nick = false; // Проверяете игровой ник во внешней БД

	if (!$nick)
	{
		throw new \DomainException('Указанного ника не существует');
	}
}		
) );

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


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

Кстати, у Вас там еще пароли фигурируют, которые тоже должны проверяться.

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


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

Большое спасибо, работает. А нельзя сделать, чтобы форма не перезагружалась на отдельную страницу?

 

		$form->addHeader('sharedstats_pvpgn_account_add', NULL, TRUE, array(),
	    function ($value)
	    {
	        $nick = $db::i('pvpgn')->select('username', 'pvpgn_BNET', [['username=?', $value]]);

	        if ($nick)
	        {
	            throw new \DomainException('Такой игровой логин уже зарегистрирован, выберите другой.');
	        }
	    });

post-60255-0-93134000-1534413762_thumb.png

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


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

Кстати, у Вас там еще пароли фигурируют, которые тоже должны проверяться.

 

Проверяться на что?

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


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

А нельзя сделать, чтобы форма не перезагружалась на отдельную страницу?

ajax или открывайте форму в попап-окне

 

Проверяться на что?
На корректность. Если я знаю ник, то смогу его добавить, введя любой пароль.

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


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

На корректность. Если я знаю ник, то смогу его добавить, введя любой пароль.

 

Не понял )

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


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

Подскажите пожалуйста, как вывести результат вот этого запроса в шаблонpost-60255-0-54764600-1534414876_thumb.png, чтобы скрыть эту кнопкуpost-60255-0-11947000-1534414889_thumb.png.

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


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

Не понял )

		$form->add( new \IPS\Helpers\Form\Password( 'password', '', TRUE, array(  'minLength' => 3, 'maxLength' => 15 ) ) );
	$form->add( new \IPS\Helpers\Form\Password( 'password_confirm', '', TRUE, array( 'confirm' => 'password', 'minLength' => 3, 'maxLength' => 15 ) ) );

Что это за пароль? Для чего он нужен?

 

Подскажите пожалуйста, как вывести результат вот этого запроса в шаблон, чтобы скрыть эту кнопку.

 

Я же писал, ищите шаблон, где выводится кнопка и добавьте новый параметр.

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...