Перейти к содержанию
ZARUQ

Ввод SteamId при регистрации (полная)

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

Кому интересна тема на счет добавления steamid.
1. Идем в lib/manage_class.php

В "public function register()" ниже $_SESSION['email'] = htmlspecialchars( $email ); добавляем $steamid = $_POST['steamid'];
Дальше в "public function register()" ниже

if( !filter_var( $email, FILTER_VALIDATE_EMAIL ) ){ 
	$_SESSION['err_msg'] = 'Почта заполнена не верно';
	return $r;
}

Добавляем

if( empty( $steamid ) ) {
	$_SESSION['err_msg'] = 'Напишите свой SteamId';
	return $r;
}

if( mb_strlen( $steamid ) > 15 || mb_strlen( $steamid ) < 1 ) {
	$_SESSION['err_msg'] = 'SteamId должен содержать больше 1 символа и максимум 11';
	return $r;
}
		
if (!preg_match('/^[\d:]+$/', $steamid)) {
	$_SESSION['err_msg'] = 'Только цифры и двоеточие';
	return $r;
}

Дальше в том же "public function register()" ниже

$getMail = $this->sql->select(
	'users',
	[ 'id' ],
	[ 'email' => $email, ]
);
		
if( is_array( $getMail ) ) {
	$_SESSION['err_msg'] = 'Данная почта уже занята';
	unset( $_SESSION['email'] );
	return $r;			
}

добавляем

$getSteamId = $this->sql->select(
	'users',
	[ 'id' ],
	[ 'steamid' => $steamid, ]
);
		
if( is_array( $getSteamId ) ) {
	$_SESSION['err_msg'] = 'Данный SteamId  уже занят';
	unset( $_SESSION['steamid'] );
	return $r;			
}

и в том же "public function register() где создается user добавляем 'steamid' => 'STEAM_ '.$steamid,
2. Идем в theme/register/index.tpl и добавляем после повтора пароля

<div class="form-group">
	<label class="form-label">
		<strong>Напиште свой SteamId</strong>
	</label>
	<div class="controls">
		<input name="steamid" type="text" value="<?=$steamid?>" class="form-control">
	</div>
</div>


3. Заходим в PHPMYADMIN в таблицу users в структуру и создаем столбец. Называем его steamid тип VARCHAR длина в 32 символа сравнение utf8_general_ci

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


Ссылка на сообщение
Поделиться на другие сайты

Если эти SteamID будут где-то использоваться дальше то это такой себе способ...

У меня это реализовано так:
На сервере стоит плагин который при коннекте игрока пишет о нем инфу в базу: Ник, стимайди, Ip, время коннекта
Переделана регистрация(Можно просто изменить стандартную, но мне она не очень нравилась)... При заходе на страницу регистрации, по IP ищет стимайди в базе, если находит - проверяет его на привязанность и если не привязан то выводит перед формой табличку типа "Обнаружен SteamID, последний коннект с таким то ником в такое то время" и в начале формы флажок "ПРивязать найденный SteamID" который изначально отмечен... И можно заполнять поле никнейма тем ником под которым был последний коннект... Ну и при авторизации можно так же находить по IP стимайди и если он привязан автоматом заполнять форму ника, ником с аккаунта к которому привязан найденный стимайди

Во как... Получается что бы привязать чужой стимайди надо прийти домой к тому чей стимайди нужен и сидеть через его инет... xD

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


Ссылка на сообщение
Поделиться на другие сайты

UPD: Ах да... Ещё можно сделать отдельную страницу для привязки... Всё тоже что и в регистрации(В плане привязки) только вместо флажка - кнопка по нажатие которой привязывается найденный стимайди... Воот...

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


Ссылка на сообщение
Поделиться на другие сайты
В 11.02.2018 в 14:33, ArKaNeMaN сказал:

Если эти SteamID будут где-то использоваться дальше то это такой себе способ...

У меня это реализовано так:
На сервере стоит плагин который при коннекте игрока пишет о нем инфу в базу: Ник, стимайди, Ip, время коннекта
Переделана регистрация(Можно просто изменить стандартную, но мне она не очень нравилась)... При заходе на страницу регистрации, по IP ищет стимайди в базе, если находит - проверяет его на привязанность и если не привязан то выводит перед формой табличку типа "Обнаружен SteamID, последний коннект с таким то ником в такое то время" и в начале формы флажок "ПРивязать найденный SteamID" который изначально отмечен... И можно заполнять поле никнейма тем ником под которым был последний коннект... Ну и при авторизации можно так же находить по IP стимайди и если он привязан автоматом заполнять форму ника, ником с аккаунта к которому привязан найденный стимайди

Во как... Получается что бы привязать чужой стимайди надо прийти домой к тому чей стимайди нужен и сидеть через его инет... xD

Та я как-то не заморачивался с этим)
Показал как примерно можно добавить и сохранить в бд через сайт
Просто еще не очень силен в PHP (практикуюсь только)
Та и PAWN учить чтоб писать плагины для кс не охота как-то)

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • От ZARUQ
      Кому интересна тема на счет добавления steamid.
      Идем в lib/manage_class.php
      В "public function register()" ниже $_SESSION['email'] = htmlspecialchars( $email ); добавляем $steamid = $_POST['steamid'];
      Дальше в "public function register()" ниже
      if( !filter_var( $email, FILTER_VALIDATE_EMAIL ) ){ $_SESSION['err_msg'] = 'Почта заполнена не верно'; return $r; } Добавляем
      if( empty( $steamid ) ) { $_SESSION['err_msg'] = 'Напишите свой SteamId'; return $r; } if( mb_strlen( $steamid ) > 15 || mb_strlen( $steamid ) < 1 ) { $_SESSION['err_msg'] = 'SteamId должен содержать больше 1 символа и максимум 11'; return $r; } if (!preg_match('/^[\d:]+$/', $steamid)) { $_SESSION['err_msg'] = 'Только цифры и двоеточие'; return $r; } Дальше в том же "public function register()" ниже
      $getMail = $this->sql->select( 'users', [ 'id' ], [ 'email' => $email, ] ); if( is_array( $getMail ) ) { $_SESSION['err_msg'] = 'Данная почта уже занята'; unset( $_SESSION['email'] ); return $r; } добавляем
      $getSteamId = $this->sql->select( 'users', [ 'id' ], [ 'steamid' => $steamid, ] ); if( is_array( $getSteamId ) ) { $_SESSION['err_msg'] = 'Данный SteamId уже занят'; unset( $_SESSION['steamid'] ); return $r; } и в том же "public function register() где создается user добавляем 'steamid' => 'STEAM_ '.$steamid,
       
×