- Баллы
- 78
Многие задавались, задают и будут задавать, как сделать регистрацию на сервер через сайт.
Сейчас я расскажу вам основу, которую вы можете взять для себя.
Что нужно для этого?
AuthMe плагин на сервере.
Хостинг с поддержкой php и mysql.
И так, начнем.
1) Создадим базу данных в mysql. Дадим ей название minecraft(Вы можете дать и другое название).
Создали? Теперь делаем SQL запрос.
Готово.
2) Теперь создадим простенький php скрипт регистрации. Назовем его reg.php.
Скрипт не идеален, но для новичков пойдет.
Открываем скрипт и меняем настройки подключения к базе данных
3) Теперь настраиваем AuthMe.
Заходим в папку /plugins/AuthMe и открываем фаил config.yml.
Далее ищем и заменям в этих строчках на свои значения.
Открываем messages.yml и ищем строчки:
Пишем в этих строчках, что нужна регистрация по адрес http://ваш адрес/reg.php
4) Готово.
Статья будет дописываться. "Тупорылыми" прошу не писать. Если кто может предложить вариант скрипта получше - предлагайте.
PS прикладываю в архивах фаил с текстом запроса в базу, сам скрипт и настроенный плагин(Указать подключение к базе все равно нужно).
Сейчас я расскажу вам основу, которую вы можете взять для себя.
Что нужно для этого?
AuthMe плагин на сервере.
Хостинг с поддержкой php и mysql.
И так, начнем.
1) Создадим базу данных в mysql. Дадим ей название minecraft(Вы можете дать и другое название).
Создали? Теперь делаем SQL запрос.
Код:
CREATE TABLE IF NOT EXISTS `users` (
`login` text,
`pass` text NOT NULL,
`id` int(5) NOT NULL AUTO_INCREMENT,
`ip` text NOT NULL,
`x` smallint(6) NOT NULL,
`y` smallint(6) NOT NULL,
`z` smallint(6) NOT NULL,
`lastlogin` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=80 ;
Готово.
2) Теперь создадим простенький php скрипт регистрации. Назовем его reg.php.
PHP:
<?
$host = "127.0.0.1"; //адрес до mysql сервера
$user = "login"; //логин к mysql
$password = "pass";//пароль к логину
$dbase = "minecraft";//название базы данных
$ip = $_SERVER['REMOTE_ADDR'];// ip пользователя
$id = $_GET['id'];//гет можете убрать, если не нравится
//если пустой гет запрос, выводим форму для регистрации
if ($id == ''){
echo '<fieldset><br><fieldset><center><span style="color: red; font-weight: bold;">Для регистрации в браузере должны быть включены cookies</span></center></fieldset><br><br>
<br><form action="reg.php?id=go" name="registration" method="post">
<span style="color: red;">* </span><input type="text" name="login" maxlength="35" size="20"> Ваша ник в игре (Регистр букв важен!)<br> <br>
<span style="color: red;">* </span><input type="password" name="pass" maxlength="20" size="20"> Ваш пароль<br> <br>
<span style="color: red;">* </span><input type="password" name="pass2" maxlength="20" size="20"> Повторите ваш пароль<br> <br>
<span style="color: red;">* </span><input type="checkbox" name="right" value="yes"> Я прочитал(а) правила и полностью согласен(а) с ними.<br /><br />
<input type="submit" value="готово" id="submit" class="button" />
</form>
<br><fieldset><center><span style="color: red; font-weight: bold;">ВНИМАНИЕ! Красным помечены поля,<b> обязательные</b> для заполнения.</span></center></fieldset><br><br></fieldset>';
}
//обрабатываем запрос
if ($id == 'go')
{
session_start();
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
$right = $_POST['right'];
//немного проверок на введеные поля
if (empty($login) || empty($pass) || empty($pass2) || empty($right)){
print("<br> <br>Все поля обязательны для заполнения.");
}
if ($pass != $pass2){
print("<br> <br>Пароли не совпадают! Похоже вы ошиблись. Попробуйте еще.");
}
if ($_POST["right"] != "yes" ){
print("<br>Извините, вы не cогласились с условиями.");
}
//все в порядке, записываем, проверив, существует ли аккаунт.
else{
$md5pass = md5($pass);
$db = mysql_connect($host, $user, $password);
mysql_select_db("$dbase", $db);
mysql_real_escape_string($login);
if(mysql_num_rows(mysql_query('SELECT login FROM users WHERE login="'.$login.'"')) > 0) {echo 'Данный логин занят';} else {
mysql_query("INSERT INTO users (`login`, `pass`, `id`, `ip`, `x`, `y`, `z`, `lastlogin`) VALUES ('$login', '$md5pass', '', '$ip', '', '', '', '0')",$db) or die(mysql_error());
print("<br> Регистрация выполнена.");}
mysql_close($db);
}
}
?>
Скрипт не идеален, но для новичков пойдет.
Открываем скрипт и меняем настройки подключения к базе данных
Код:
$host = "127.0.0.1"; //адрес до mysql сервера
$user = "login"; //логин к mysql
$password = "pass";//пароль к логину
$dbase = "minecraft";//название базы данных
3) Теперь настраиваем AuthMe.
Заходим в папку /plugins/AuthMe и открываем фаил config.yml.
Далее ищем и заменям в этих строчках на свои значения.
Код:
mySQLTablename: users
mySQLUsername: пользователь mysql
backend: mysql
mySQLDatabase: название базы
mySQLColumnIp: ip
mySQLHost: адрес mysql
mySQLColumnPassword: pass
mySQLPassword: ваш пароль mysql
kickNonRegistered: true
passwordHash: MD5
Открываем messages.yml и ищем строчки:
Код:
reg_voluntarily:
usage_reg:
reg_msg:
reg_only:
Пишем в этих строчках, что нужна регистрация по адрес http://ваш адрес/reg.php
4) Готово.
Статья будет дописываться. "Тупорылыми" прошу не писать. Если кто может предложить вариант скрипта получше - предлагайте.
PS прикладываю в архивах фаил с текстом запроса в базу, сам скрипт и настроенный плагин(Указать подключение к базе все равно нужно).
