Показать сообщение отдельно
Непрочитано 14.12.2009, 20:06   #4
Аватар для PuShKinG

Cool Re: Заливка сайта на хостинг и Скрипт регистрации аккаунта

Скрипт регистрации.

Файл 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'])>=&& strlen($_POST['password'])>=&& $_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>";  
}  
}  

?>
PuShKinG вне форума Отправить сообщение для PuShKinG с помощью ICQ Ответить с цитированием