Скрипт регистрации.
Файл
config.php:
PHP код:
$db1 = "realmd"; // база реалмов
$db2 = "mangos"; // база мира
$db3 = "characters"; // база чаров
$host = "localhost"; // адрес БД
$user = "ЛОГИН"; // логин к БД
$pass = "ПАРОЛЬ"; // пароль к БД
$port = "3306"; // порт к БД
$database_encoding="utf8_general_ci"; //не меняй!
Файл регистрации -
reg.php:
PHP код:
<?
include "config.php";
$database_encoding = 'CP1251';
$tbc = 3;
$realmd = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db1", $realmd);
$world = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db2", $world);
$characters = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db3", $characters);
?>
<center>
<b><font color="#ff3333">Регистрация нового аккаунта</font></b>
</center><br>
</div>
<script type=\"text/javascript\">
function isAlphaNumeric(value)
{
if (value.match(/^[a-zA-Z0-9_]+$/))
return true;
return false;
}
function checkform(f)
{
if (f.account.value == \"\")
{
alert(\"Введите логин\");
return false;
}
if (!isAlphaNumeric(f.account.value))
{
alert(\"Запрещенные символы в логине\");
return false;
}
if (f.password.value==\"\")
{
alert(\"Введите пароль\");
return false;
}
if (!isAlphaNumeric(f.password.value))
{
alert(\"Запрещенные символы в пароле\");
return false;
}
if (f.password2.value==\"\")
{
alert(\"Вы не ввели повтор пароля\");
return false;
}
if (f.password.value != f.password2.value)
{
alert(\"Пароли не совпадают\");
return false;
}
if (f.email.value==\"\")
{
alert(\"Вы не ввели e-mail\");
return false;
}
}
</script>
<form method="post" action="reg.php" onsubmit="return checkform(this)">
<center>
<table>
<tr>
<td><font color="#ff3333">*</font>Введите логин:</td>
<td><input type="text" name="account" maxlength="15" /></td>
</tr>
<tr>
<td><font color="#ff3333">*</font>Введите пароль:</td>
<td><input type="password" name="password" maxlength="15" /></td>
</tr>
<tr>
<td><font color="#ff3333">*</font>Повторите пароль:</td>
<td><input type="password" name="password2" maxlength="15" /></td>
</tr>
<tr>
<td><font color="#ff3333">*</font>E-mail:</td>
<td><input type=text name=email maxlength=32></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><br />
<input type="submit" name="submit" value="Регистрация" /></td>
</tr>
</table>
</center>
</form>
<?
if (isset($_POST['account'])) {
if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) {
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account']))
die ("<p>Error: SQL-Injection</p>");
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))
die ("<p>Error: SQL-Injection</p>");
$pass = ($_POST['password']);
$username = ($_POST['account']);
$result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."' AND sha_pass_hash='$pass'", $realmd);
if (mysql_num_rows($result) != 0) {
echo "<center><p><font color=#CC0000><b>Такой аккаунт уже есть!</b></font></p></center>";
} else {
if (!mysql_query("INSERT INTO account (username, sha_pass_hash, gmlevel, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass'))), 0, '".$_POST['email']."', $tbc)", $realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Всё нормалёк!</b></font></p></center>";}
}
} else {
echo "<center><p><font color=#CC0000><b>Не тупи!</b></font></p></center>";
}
}
?>