Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Я хочу сделать проверку логина в своей внешней базе (игрового ника).
Пишите подробнее, где и что должно быть.

Share this post


Link to post
Share on other sites

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

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

BNetAccount.php

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

Share this post


Link to post
Share on other sites

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

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

Если так, то там используется 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) {

Share this post


Link to post
Share on other sites

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

 

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

Share this post


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

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

		$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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

Не понял )

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Не понял )

		$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 ) ) );

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...