Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Web обвязка/Скрипт Регистрации
Search

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

6 replies364 viewsCurrently viewing: 1
itsmusictime
itsmusictime

User

Участник

Posts: 44

На форуме с: 04/16/2008

Репутация: +50

Рейтинг: 0

· 09/27/2008, 06:04 PM

Выкладываю рабочий скрипт для регестрации:


SQL
ALTER TABLE accounts
CHARACTER SET UTF8,
ADD email varchar(20);


Код
<?php
if(empty($mw))
{
header ("Location: ..");
exit;
}
?>
<center>
| <a href="index.php?id=register">Регистрация</a>
| <a href="index.php?id=cp">Личный кабинет</a>|<br><hr>
<center/>

<?
#config
$mysql_server ="localhost"; // IP адрес MySQL-сервера ["localhost"]
$mysql_user ="root";        // Логин ["root"]
$mysql_pass ="root";        // Пароль ["root"]
$mysql_db ="l2jdb";         // Имя игровой базы ["l2jdb"]

mysql_connect($mysql_server,$mysql_user,$mysql_pass);
mysql_select_db($mysql_db);
#config

#function begin
function newaccount($account,$password,$email){
$passworden = base64_encode(pack('H*', sha1($password)));
$query="INSERT INTO accounts (login, password, email) VALUES('$account', '$passworden', '$email')";
$result=mysql_query($query);
return true;
}

function displayErrors($messages) {
foreach($messages as $msg){
print("<li>$msg</li>\n");
}
print("</ul>\n");
}


function field_validator($field_descr, $field_data,
$field_type, $min_length="4", $max_length="20",
$field_required=1) {

global $messages;


if(!$field_data && !$field_required){ return; }


$field_ok=true;


$email="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|";
$email.="(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";


$data_types=array(
"email"=>$email,
"digit"=>"^[0-9]$",
"number"=>"^[0-9]+$",
"alpha"=>"^[a-zA-Z]+$",
"alpha_space"=>"^[a-zA-Z ]+$",
"alphanumeric"=>"^[a-zA-Z0-9]+$",
"alphanumeric_space"=>"^[a-zA-Z0-9 ]+$",
"string"=>""
);


if ($field_required && empty($field_data)) {
$messages[] = "Вы не ввели $field_descr.";
return;
}

if ($field_type == "string") {
$field_ok = true;
} else {

$field_ok = ereg($data_types[$field_type], $field_data);
}

if (!$field_ok) {
$messages[] = "Введите правильно $field_descr.";
return;
}

if ($field_ok && $min_length) {
if (strlen($field_data) < $min_length) {
$messages[] = "$field_descr вы ввели меньше чем $min_length знака.";
return;
}
}

if ($field_ok && $max_length) {
if (strlen($field_data) > $max_length) {
$messages[] = "$field_descr вы ввели больше чем $max_length знаком.";
return;
}
}
}

##Function end

##register
if($_POST["register"]){

field_validator("Аккаунт", $_POST["login"], "alphanumeric", 4, 20);
field_validator("пароль", $_POST["password1"], "alphanumeric", 4, 20);
field_validator("Повтор пароля", $_POST["password2"], "alphanumeric", 4, 20);
field_validator("E-mail", $_POST["email"], "email", 4, 20);

if(strcmp($_POST["password1"], $_POST["password2"])) {

$messages[]="Вы ошиблись в повторном воде пароля.";
}

$query="SELECT login FROM accounts WHERE login='".$_POST["login"]."'";


$result=mysql_query($query) or die("MySQL query $query failed. Error if any: ".mysql_error());

if( ($row=mysql_fetch_array($result)) ){
$messages[]="Аккаунт <font color='red'>\"".$_POST["login"]."\"</font> уже сушествует. Попробуйте другой.";
}


if(empty($messages)) {
newaccount($_POST["login"], $_POST["password1"], $_POST["email"]);
$messages[]="Аккаунт <font color='green'>".$_POST['login']."</font> зарегистрирован успешно.";

}
}
?>
<?
if(!empty($messages)){
displayErrors($messages);
}
?>
<form method="POST">
<table border=0 cellspacing=0 cellpadding=0>
<H3>Регистрация</h3><br>
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">Логин:</td>
<td><label>
&nbsp;&nbsp;<input type="text" name="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль:</td>
<td><label>
&nbsp;&nbsp;<input type="password" name="password1">
</label></td>
</tr>
<tr>
<td align="right">Повтор пароля:</td>
<td><label>
&nbsp;&nbsp;<input type="password" name="password2">
</label></td>
</tr>
</tr>
<tr>
<td align="right">E-mail:</td>
<td><label>
&nbsp;&nbsp;<input type="text" name="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
&nbsp;&nbsp;<input type="submit" name="register" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>


Помог?=)Жми спасибо! pogranichnik.gif
d94fefdbba8d.gif

Не регистрирует аккаунт? russian_roulette.gif
Замените в скрипте access_level на accessLevel или на оборот в зависимости от сборки сервера! 30247d5321bc.gif

Не регистрирует аккаунт? russian_roulette.gif
Замените в скрипте access_level на accessLevel или на оборот в зависимости от сборки сервера! 30247d5321bc.gif

0
F
flash393

Author

Новичок

Posts: 14

На форуме с: 03/21/2008

Репутация: +5

Рейтинг: 0

· 09/28/2008, 06:57 AM

itsmusictime: Выкладываю рабочий скрипт для регестрации:


SQL
ALTER TABLE accounts
CHARACTER SET UTF8,
ADD email varchar(20);


Код
<?php
if(empty($mw))
{
header ("Location: ..");
exit;
}
?>
<center>
| <a href="index.php?id=register">Регистрация</a>
| <a href="index.php?id=cp">Личный кабинет</a>|<br><hr>
<center/>

<?
#config
$mysql_server ="localhost"; // IP адрес MySQL-сервера ["localhost"]
$mysql_user ="root";        // Логин ["root"]
$mysql_pass ="root";        // Пароль ["root"]
$mysql_db ="l2jdb";         // Имя игровой базы ["l2jdb"]

mysql_connect($mysql_server,$mysql_user,$mysql_pass);
mysql_select_db($mysql_db);
#config

#function begin
function newaccount($account,$password,$email){
$passworden = base64_encode(pack('H*', sha1($password)));
$query="INSERT INTO accounts (login, password, email) VALUES('$account', '$passworden', '$email')";
$result=mysql_query($query);
return true;
}

function displayErrors($messages) {
foreach($messages as $msg){
print("<li>$msg</li>\n");
}
print("</ul>\n");
}


function field_validator($field_descr, $field_data,
$field_type, $min_length="4", $max_length="20",
$field_required=1) {

global $messages;


if(!$field_data && !$field_required){ return; }


$field_ok=true;


$email="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|";
$email.="(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";


$data_types=array(
"email"=>$email,
"digit"=>"^[0-9]$",
"number"=>"^[0-9]+$",
"alpha"=>"^[a-zA-Z]+$",
"alpha_space"=>"^[a-zA-Z ]+$",
"alphanumeric"=>"^[a-zA-Z0-9]+$",
"alphanumeric_space"=>"^[a-zA-Z0-9 ]+$",
"string"=>""
);


if ($field_required && empty($field_data)) {
$messages[] = "Вы не ввели $field_descr.";
return;
}

if ($field_type == "string") {
$field_ok = true;
} else {

$field_ok = ereg($data_types[$field_type], $field_data);
}

if (!$field_ok) {
$messages[] = "Введите правильно $field_descr.";
return;
}

if ($field_ok && $min_length) {
if (strlen($field_data) < $min_length) {
$messages[] = "$field_descr вы ввели меньше чем $min_length знака.";
return;
}
}

if ($field_ok && $max_length) {
if (strlen($field_data) > $max_length) {
$messages[] = "$field_descr вы ввели больше чем $max_length знаком.";
return;
}
}
}

##Function end

##register
if($_POST["register"]){

field_validator("Аккаунт", $_POST["login"], "alphanumeric", 4, 20);
field_validator("пароль", $_POST["password1"], "alphanumeric", 4, 20);
field_validator("Повтор пароля", $_POST["password2"], "alphanumeric", 4, 20);
field_validator("E-mail", $_POST["email"], "email", 4, 20);

if(strcmp($_POST["password1"], $_POST["password2"])) {

$messages[]="Вы ошиблись в повторном воде пароля.";
}

$query="SELECT login FROM accounts WHERE login='".$_POST["login"]."'";


$result=mysql_query($query) or die("MySQL query $query failed. Error if any: ".mysql_error());

if( ($row=mysql_fetch_array($result)) ){
$messages[]="Аккаунт <font color='red'>\"".$_POST["login"]."\"</font> уже сушествует. Попробуйте другой.";
}


if(empty($messages)) {
newaccount($_POST["login"], $_POST["password1"], $_POST["email"]);
$messages[]="Аккаунт <font color='green'>".$_POST['login']."</font> зарегистрирован успешно.";

}
}
?>
<?
if(!empty($messages)){
displayErrors($messages);
}
?>
<form method="POST">
<table border=0 cellspacing=0 cellpadding=0>
<H3>Регистрация</h3><br>
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">Логин:</td>
<td><label>
&nbsp;&nbsp;<input type="text" name="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль:</td>
<td><label>
&nbsp;&nbsp;<input type="password" name="password1">
</label></td>
</tr>
<tr>
<td align="right">Повтор пароля:</td>
<td><label>
&nbsp;&nbsp;<input type="password" name="password2">
</label></td>
</tr>
</tr>
<tr>
<td align="right">E-mail:</td>
<td><label>
&nbsp;&nbsp;<input type="text" name="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
&nbsp;&nbsp;<input type="submit" name="register" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>


Помог?=)Жми спасибо! pogranichnik.gif
d94fefdbba8d.gif

Не регистрирует аккаунт? russian_roulette.gif
Замените в скрипте access_level на accessLevel или на оборот в зависимости от сборки сервера! 30247d5321bc.gif

Не регистрирует аккаунт? russian_roulette.gif
Замените в скрипте access_level на accessLevel или на оборот в зависимости от сборки сервера! 30247d5321bc.gif


неработает чето и вообще я ненашел ни access_level ни accessLevel в скрипте

0
Дмитрий
Дмитрий

User

Участник

Posts: 92

На форуме с: 11/24/2008

Репутация: +31

Рейтинг: 0

· 09/28/2008, 07:19 AM

Восстановление пароля все равно не будет работать правильно если в Dle втыкать. А на других сборках, эти скрипты уже есть. Смысла лишнего поля не вижу. Сейчас проверю скрипт, опишу работает или нет.

everybody lies (c)

0
Л
Лёха

User

Бывалый

Posts: 155

На форуме с: 12/27/2007

Репутация: +30

Рейтинг: 0

· 09/28/2008, 12:37 PM

ну втыкнул прикрасно работает только почему на мыло не чё не приходит??? И ешё скрипт нужен востоновление пороля!

0
Eternal
Eternal

User

Бывалый

Posts: 103

На форуме с: 12/08/2007

Репутация: +43

Рейтинг: 0

· 09/28/2008, 02:59 PM

Ничего не должно на мыло приходить. Не предусмотренно скриптом. Ищи другой, если нужно, либо дописывай этот.

Timeo Danaos et dona ferentes

0
6
6BLADE6

User

Участник

Posts: 43

На форуме с: 04/05/2008

Репутация: +47

Рейтинг: 0

· 11/13/2008, 02:26 AM

У мну нерабит помогите плиз, меня почемуто при заходе на скрипт http://ip/reg2.php автоматом перенаправляет на http://ip/

0
Topic is closed for replies