Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Движки сайтов (CMS) (https://forum.zone-game.info/forumdisplay.php?f=47)
-   -   Скрипт регистрации для игрового сайта (https://forum.zone-game.info/showthread.php?t=796)

Hichnick 08.06.2008 11:41

Скрипт регистрации для игрового сайта
 
Код для файла reg.php

PHP код:

<?php

include("config.php");


// Настройка скрипта
$savedata "true"//Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.

// Начало скрипта
$fsname $_SERVER['SCRIPT_NAME'];
$msconn mysql_connect($dbhost.":".$dbport$dbuser$dbpass) or die ("Мир погружен во тьму");
MYSQL_SELECT_DB($dbname) or die ("Мир погружен во тьму");
if (
$_GET[act]==""){
echo (
'<center><a href="'.$fsname.'?act=registration&step=1">Присоедениться</a></center>');
}
if (
$_GET[act]=="registration"){
if (
$_GET[step]=="1"){
echo (
'<form name="form1" method="post" action="'.$fsname.'?act=registration&step=2">
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Логин</td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль</td>
<td><label>
<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повтор</td>
<td><label>
<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
<tr>
<td align="right">ICQ</td>
<td><label>
<input name="icq" type="text" id="icq">
</label></td>
</tr>
<tr>
<td align="right">E-mail</td>
<td><label>
<input name="email" type="text" id="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p>&nbsp;</p>
'
);
}
if (
$_GET[step]=="2"){
$login $_POST[login];
$pass $_POST[pass];
$pass2 $_POST[repeat];
$icq $_POST[icq];
$email $_POST[email];
if (
$login == "") {
echo (
"<center>Вы не ввели логин</center>");
}else{
if (
$pass == "") {
echo (
"<center>Пароль не может быть пустым</center>");
}else{
if (
$pass == $pass2) {
$q mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!
mysql_numrows($q) > "0") {
$gamepass base64_encode(pack("H*"sha1(utf8_encode($pass))));
mysql_query("INSERT INTO accounts(login, password, lastactive, access_level) VALUES('$login' , '$gamepass', '$lastactive', '0')");
if (
$savedata == "true") {
mysql_query("INSERT INTO account_info(login, password, icq, email) VALUES('$login' , '$pass', '$icq', '$email')");
}
echo (
"<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");
} else {
echo (
"<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}else {
echo (
"<center>Пароли не совпадают</center>");
}
}
}
}
}
?>

Код для файла config.php

PHP код:

<?php

$dbuser 
"пользователь";
$dbpass "пароль";
$dbhost "хост";
$dbname "имя базы";
$dbport3306;



?>


Установка:


Создаем файлы reg.php и config.php (код указан выше)
Закидываем их в любую папку на сайте и создаём ссылку на reg.php
Регистрация готова)

xeliks 19.06.2009 18:27

Ответ: Скрипт регистрации для игрового сайта
 
а это регистрация конкретно под сервер Lineage ???

PROGRAMMATOR 19.06.2009 19:26

Ответ: Скрипт регистрации для игрового сайта
 
Да, это для Java сервера Lineage 2, спасибо что написали, сейчас переместим тему.

xeliks 19.06.2009 21:13

Ответ: Скрипт регистрации для игрового сайта
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 34982)
Да, это для Java сервера Lineage 2, спасибо что написали, сейчас переместим тему.

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

Добавлено через 48 минут
Я разобрался, отличный скрипт, но он не записывает в базу, т.к не прописаны все таблицы, у кого это происходит замените эдентичную строку на эту

INSERT INTO accounts(login, password, lastactive, access_level, lastIP, lastServer, IPBlock) VALUES('".$login."' , '".$gamepass."', '1', '0', '0.0.0.0', '1', '0')");

kolya_ch 13.07.2009 12:12

Ответ: Скрипт регистрации для игрового сайта
 
на 1790 emu подходит?

Voltage 14.07.2009 20:27

Ответ: Скрипт регистрации для игрового сайта
 
немного переделал, добавил защиту от SQL-инъекций, убрал переменную $act, добавил контроль символов пароля..

PHP код:

<?php 
include("credentials.php"); 
$fsname $_SERVER['SCRIPT_NAME']; 
$msconn mysql_connect($dbhost.":".$dbport$dbuser$dbpass) or die ("Не удалось установить соединение с БД"); 
MYSQL_SELECT_DB($dbname) or die ("Не удалось установить соединение с БД"); 
$way = (int)$_GET[step];
if (
$way == 0){ 
echo (
'<form name="form1" method="post" action="'.$fsname.'?step=2"> 
<div align="center"> 
<table width="266" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="105" align="right">Логин</td> 
<td width="161"><label> 
<input name="login" type="text" id="login1"> 
</label></td> 
</tr> 
<tr> 
<td align="right">Пароль</td> 
<td><label> 
<input name="pass" type="password" id="pass"> 
</label></td> 
</tr> 
<tr> 
<td align="right">Повтор</td> 
<td><label> 
<input name="repeat" type="password" id="repeat"> 
</label></td> 
</tr> 
<tr> 
<td align="right">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td> 
<td align="center"><label> 
<input type="submit" name="Submit" value="Регистрация"> 
</label></td> 
</tr> 
</table> 
</div> 
</form> 
<p>&nbsp;</p> 
'
); 

$way = (int)$_GET[step];
if (
$way == 2){ 
$login strtolower(addslashes($_POST[login])); 
$pass addslashes($_POST[pass]); 
$pass2 addslashes($_POST[repeat]);
if (
$login == "" or ctype_alnum($login) == false) { 
echo (
"<center>Введенное значение <font color=red>не</font> может быть логином.</center>"); 
}else{ 
if (
$pass == "" or ctype_alnum($pass) == false) { 
echo (
"<center>Введенное значение <font color=red>не</font> может быть паролем.</center>"); 
}else{ 
if (
$pass == $pass2) { 
$q mysql_query("SELECT * FROM accounts WHERE login='{$login}'"); 
if(!
mysql_numrows($q) > "0") { 
$gamepass base64_encode(pack("H*"sha1(utf8_encode($pass)))); 
mysql_query("INSERT INTO accounts(login, password, lastactive, access_level) VALUES('$login' , '$gamepass', '$lastactive', '0')"); 
echo (
"<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>"); 
} else { 
echo (
"<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>"); 

}else { 
echo (
"<center>Пароли не совпадают</center>"); 



}
?>


gigaboss 27.03.2010 12:22

Re: Скрипт регистрации для игрового сайта
 
Пытаюсь применить данный скрипт к Aion пишет регистрация выполнена успешно но есть ошибка
Цитата:

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\reg.php on line 79
и в муське не появляется новго ака

Ametist 27.03.2010 14:21

Re: Ответ: Скрипт регистрации для игрового сайта
 
gigaboss, читать умеем? Написано ведь...
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 34982)
Да, это для Java сервера Lineage 2, спасибо что написали, сейчас переместим тему.


gigaboss 27.03.2010 16:21

Re: Скрипт регистрации для игрового сайта
 
Не нужно пытаться блистать интеллектом - от этого толку нет.
Знаю что раздел не тот, но принцип java та одинаковый(у L2 и Aion).
Лучше бы просто подсказали как можно сделать reg для aion, или и вовсе не флудили.

PROGRAMMATOR 27.03.2010 18:12

Re: Скрипт регистрации для игрового сайта
 
Цитата:

Сообщение от gigaboss
Warning: mysql_numrows()

Может все же mysql_num_rows() и подправить запрос, ошибка из-за того, что он не проходит.
А вообще, нужно было искать модуль регистрации Aion на форумах посвященных велосипедам... Неужели сложно было найти http://forum.zone-game.info/showthread.php?t=6745


Текущее время: 04:24. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot