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 обвязка/[help] Регистрация
Search

[help] Регистрация

8 replies182 viewsCurrently viewing: 1
A
anton

User

Участник

Posts: 66

На форуме с: 07/22/2008

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

Рейтинг: 0

· 05/19/2009, 05:19 PM

пОМОГИТЕ отменить подтверждение регистраци на мыло. вот скрипт регистрации.
с шаблона сайта.

Раскрывающийся текст

<!-- REGISTER START -->
<script type='text/javascript' src='{THEME}/lineage/js/form_check.js'></script>
<script type='text/javascript' src='{THEME}/lineage/js/pwd_strength.js'></script>

<h3 align=center>Регистрация нового аккаунта.</h3>
<form action='?do=lineage&module=registration&action=reg' method='post' onsubmit="return checkform();" name="form1">
<input type='hidden' name='form' value='reg' />
<center>
<table border=0 width=600 cellpadding=0 cellspacing=0>
<tr>
<td class='left' width=150>Логин</td>
<td class='right'><input type='text' name='l2login' maxlength='15' onkeyup="checkLogin();"/></td>
<td rowspan=15 valign=top align='left' style="padding: 5px;">
<small>
<li>Логин может содержать только буквы латинского алфавита, цифры, и символы "_" и "-".<br/><br/>
<li>Крайне не рекомендуется использовать для аккаунта простой пароль. Пароль должен состоять из английских
букв разных регистров, цифр и спецсимволов.<br/><br/>
<li>При регистрации необходимо указывать действующий адрес email, т.к. на него Вам будет выслано подтверждение регистрации.
В дальнейшем на этот адрес будет высылаться восстановление пароля.<br/><br/>
<li>Секретный вопрос и ответ используются не только для восстановления пароля, но и каждый раз при авторизации в кабинете.<br/><br/>
<li> Пароль, секретый вопрос и ответ можно будет впоследствии сменить в Кабинете.<br/><br/>
<li>Так же, для успешной регистрации, Вам необходимо правильно указать символы, которые Вы видите на картинке. <br/><br/>

</small>
</td>
</tr>
<tr>
<td></td>
<td align='left' height=20><div id="LoginTxt" style="font-size: 10px; height: 20px;"></div></td>
</tr>
<tr>
<td class='left'>Пароль</td>
<td class='right'><input type='password' name='l2password' id='l2password' maxlength='15' onkeyup="runPassword(this.value, 'l2password');" onchange="runPassword(this.value, 'l2password');"/></td>
</tr>
<tr>
<td></td>
<td align='left' height=20>
<div style="width: 100px; height: 20px;">
<div id="l2password_text" style="font-size: 10px;"></div>
<div id="l2password_bar" style="font-size: 1px; height: 3px; width: 0px; border: 1px solid white;"></div>
</div>
</td>
</tr>

<tr>
<td class='left'>Подтверждение пароля</td>
<td class='right'><input type='password' name='l2password2' maxlength='15' onkeyup="comparePass();" onchange="comparePass();"/></td>
</tr>
<tr>
<td></td>
<td align='left' height=20><div id="compareTxt" style="font-size: 10px; height: 20px;"></div></td>
</tr>

<tr>
<td class='left'>E-mail</td>
<td class='right'><input type='text' name='l2email' maxlength='64' onkeyup="validate_email()"/></td>
</tr>
<tr>
<td></td>
<td align='left' height=20><div id="emailCheck" style="font-size: 10px; height: 20px;"></div></td>
</tr>
<tr>
<td class='left'>Секретный вопрос</td>
<td class='right'><input type='text' name='l2question' maxlength='64' /></td>
<td></td>
</tr>
<tr>
<td></td>
<td height=20></td>
</tr>
<tr>
<td class='left'>Ответ на вопрос</td>
<td class='right'><input type='text' name='l2answer' maxlength='64' /></td>
<td></td>
</tr>
<tr>
<td></td>
<td height=20></td>
</tr>
<tr>
<td class='left'>Код на картинке</td>
<td class='right'><input type='text' name='kcaptcha' maxlength='64' /></td>
<td></td>
</tr>
<tr>
<td></td>
<td height=20></td>
</tr>
<tr>
<td class='left'></td>
<td class='right'><img src='./kcaptcha/img.php?{kcaptcha1}={kcaptcha2}'></td>
<td></td>
</tr>

<tr>
<td colspan='3' style='text-align: center;'><br />
<input type='submit' name='submit' value='Регистрация'/>


</td>
</tr>
</table>
</center>
</form>
<!-- REGISTER END -->


с модуль регистрации
Раскрывающийся текст

<?php
/****************************************/
/* */
/* Lineage2 DLE Module, © rb338 */
/* ------------------------- */
/* [registration.php - reg, activate] */
/* uses: register.tpl, */
/* mail_registration.tpl */
/* */
/****************************************/

if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

if($_action == "reg"){
$error_str = '';
$reg_login = mysql_escape_string($_REQUEST["l2login"]);
$reg_email = mysql_escape_string($_REQUEST["l2email"]);

if($_SESSION['captcha_keystring'] != $_REQUEST['kcaptcha']) $error_str .= "<li> Код c картинки не верный.n";
if(empty($reg_login) || empty($_REQUEST["l2password"]) || empty($_REQUEST["l2password2"])
|| empty($_REQUEST["l2email"]) || empty($_REQUEST["l2answer"]) || empty($_REQUEST["l2question"])) $error_str .= "<li> Все поля необходимы к заполнению.n";
if(strlen($reg_login)>16 || strlen($reg_login)<4) $error_str .= "<li> Логин должен быть не меньше 4 и не больше 16 символов.n";
if($_REQUEST["l2password"] != $_REQUEST["l2password2"]) $error_str .= "<li> Указанные пароли не совпадают.n";
if(strlen($_REQUEST["l2answer"])<4 || strlen($_REQUEST["l2question"])<4) $error_str .= "<li> Вопрос и ответ должны быть не меньше 4 символов.n";
if(!check_email($reg_email)) $error_str .= "<li> Адрес email указан не верно.n";
else{
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE email='$reg_email' LIMIT 1"))) $error_str .= "<li> Указанный email уже используется.n";
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts_temp WHERE email='$reg_email' LIMIT 1"))) $error_str .= "<li> Указанный email уже используется, но соответствующий аккаунт ещё не активирован.n";
}
if(preg_match("|[а-яА-Я]|", $_REQUEST["l2password2"])) $error_str .= "<li> Пароль не может содержать символы кириллицы.n";
if(!preg_match("/^[a-zA-Z0-9_-]+$/", $reg_login)) $error_str .= "<li> Логин содержит недопустимые символы.n";
else{
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE login='$reg_login' LIMIT 1"))) $error_str .= "<li> Указанный логин уже занят.n";
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts_temp WHERE login='$reg_login' LIMIT 1"))) $error_str .= "<li> Логин уже занят, но соответствующий аккаунт ещё не активирован.n";
}
if($error_str != '') $lineage = "При регистрации произошли следующие ошибки:<br>".$error_str."<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
// добавление акка в темповую бд
else{
$reg_pass = mysql_escape_string(base64_encode(pack('H*', sha1($_REQUEST["l2password"]))));
$reg_pass_nondecoded = mysql_escape_string($_REQUEST["l2password"]);
$reg_answ = mysql_escape_string($_REQUEST["l2answer"]);
$reg_question = mysql_escape_string($_REQUEST["l2question"]);
$reg_hash = md5(time().$reg_login.rand());
$dbl->sql_query("INSERT INTO `accounts_temp` VALUES ('$reg_login', '$reg_pass', '$reg_email', '$reg_answ', '$reg_question', UNIX_TIMESTAMP(), '$reg_hash')");
$sql_error = $dbl->sql_error();
// отправка мыла
if($sql_error["code"]==0){
$tpl->load_template($tpldir.'/lineage/mail_registration.tpl');
$tpl->set('{reg_login}', $reg_login);
$tpl->set('{reg_pass}', $reg_pass_nondecoded);
$tpl->set('{reg_question}', $reg_question);
$tpl->set('{reg_answ}', $reg_answ);
$tpl->set('{home_url}', $config['http_home_url']);
$tpl->set('{reg_hash}', $reg_hash);
$tpl->compile('mail_registration');
$mess = $tpl->result["mail_registration"];

include_once ENGINE_DIR.'/classes/mail.class.php';
$mail = new dle_mail ($config);
$mail->send($reg_email, 'Подтверждние регистрации '.$config['home_title'], $mess);
$lineage .= "<center>Поздравляем, Вы успешно зарегистрировали аккаунт!<br>На Ваш e-mail выслано подтверждение регистрации.</center><br />";
InsertLogRecord($reg_login, 'account registration');
}
else{
$lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
$lineage.= "<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
}
}
}
//активация
elseif($_action == "activate"){
$activate_hash = mysql_escape_string($_REQUEST["activate_hash"]);
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts_temp WHERE reg_hash='".$activate_hash."' LIMIT 1")) == 0) $lineage .= "<center>Аккаунт не найден!</center>";
else{
$query = $dbl->sql_query("SELECT * FROM accounts_temp WHERE reg_hash='".$activate_hash."' LIMIT 1");
$account_array = $dbl->sql_fetchrow($query);
$dbl->sql_query("INSERT INTO `accounts` (login, password, access_level, email) VALUES ('".$account_array['login']."', '".$account_array['password']."', 0, '".$account_array['email']."')");
$dbl->sql_query("INSERT INTO `accounts_questions` (login, question, answer) VALUES ('".$account_array['login']."', '".$account_array['question']."', '".$account_array['answer']."')");
$sql_error = $dbl->sql_error();
$dbl->sql_query("DELETE FROM `accounts_temp` WHERE reg_hash='".$activate_hash."' LIMIT 1");
$sql_error = $dbl->sql_error();
if ($sql_error["code"]==0) {
$lineage = "<center>Поздравляем, аккаунт успешно активирован! Приятной игры.</center><br />";
$lineage .= "<center><a href='".GetURL($_link,"account")."'>на страницу авторизации</a></center>";
InsertLogRecord($account_array['login'], 'account activation');
}
else {
$lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
$lineage .= "<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
}
unset($account_array);
}
}
// вывод рег формы
else{
$kcaptcha_str1 = session_name();
$kcaptcha_str2 = session_id();
$tpl->load_template($tpldir.'/lineage/register.tpl');
$tpl->set('{kcaptcha1}', $kcaptcha_str1);
$tpl->set('{kcaptcha2}', $kcaptcha_str2);
$tpl->compile('register');
$lineage = $tpl->result["register"];
}
?>


разве некто не может помоч ?

0
Андрей
Андрей

User

Бывалый

Posts: 127

На форуме с: 09/29/2007

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

Рейтинг: 0

· 05/19/2009, 06:30 PM

Попробуй удалить это

Раскрывающийся текст

// отправка мыла
if($sql_error["code"]==0){
$tpl->load_template($tpldir.'/lineage/mail_registration.tpl');
$tpl->set('{reg_login}', $reg_login);
$tpl->set('{reg_pass}', $reg_pass_nondecoded);
$tpl->set('{reg_question}', $reg_question);
$tpl->set('{reg_answ}', $reg_answ);
$tpl->set('{home_url}', $config['http_home_url']);
$tpl->set('{reg_hash}', $reg_hash);
$tpl->compile('mail_registration');
$mess = $tpl->result["mail_registration"];

include_once ENGINE_DIR.'/classes/mail.class.php';
$mail = new dle_mail ($config);
$mail->send($reg_email, 'Подтверждние регистрации '.$config['home_title'], $mess);
$lineage .= "<center>Поздравляем, Вы успешно зарегистрировали аккаунт!<br>На Ваш e-mail выслано подтверждение регистрации.</center><br />";
InsertLogRecord($reg_login, 'account registration');
}
else{
$lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
$lineage.= "<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
}
}
}
//активация
elseif($_action == "activate"){
$activate_hash = mysql_escape_string($_REQUEST["activate_hash"]);
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts_temp WHERE reg_hash='".$activate_hash."' LIMIT 1")) == 0) $lineage .= "<center>Аккаунт не найден!</center>";
else{
$query = $dbl->sql_query("SELECT * FROM accounts_temp WHERE reg_hash='".$activate_hash."' LIMIT 1");
$account_array = $dbl->sql_fetchrow($query);
$dbl->sql_query("INSERT INTO `accounts` (login, password, access_level, email) VALUES ('".$account_array['login']."', '".$account_array['password']."', 0, '".$account_array['email']."')");
$dbl->sql_query("INSERT INTO `accounts_questions` (login, question, answer) VALUES ('".$account_array['login']."', '".$account_array['question']."', '".$account_array['answer']."')");
$sql_error = $dbl->sql_error();
$dbl->sql_query("DELETE FROM `accounts_temp` WHERE reg_hash='".$activate_hash."' LIMIT 1");
$sql_error = $dbl->sql_error();
if ($sql_error["code"]==0) {
$lineage = "<center>Поздравляем, аккаунт успешно активирован! Приятной игры.</center><br />";
$lineage .= "<center><a href='".GetURL($_link,"account")."'>на страницу авторизации</a></center>";
InsertLogRecord($account_array['login'], 'account activation');
}
else {
$lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
$lineage .= "<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
}
unset($account_array);
}
}

0
W
WebMasterss

Author

Новичок

Posts: 8

На форуме с: 05/20/2009

Рейтинг: 0

· 05/20/2009, 01:36 PM

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

0
Руслан
Руслан

Moderator

Ветеран

Posts: 1201

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

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

Рейтинг: 0

· 05/20/2009, 02:00 PM

Попробуйте так, если ошибку выдает - напишите какую.

Неизвестно работает или нет!

Код
<?php
/****************************************/
/* */
/* Lineage2 DLE Module, © rb338 */
/* ------------------------- */
/* [registration.php - reg, activate] */
/* uses: register.tpl, */
/* mail_registration.tpl */
/* */
/****************************************/

if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

if($_action == "reg"){
$error_str = '';
$reg_login = mysql_escape_string($_REQUEST["l2login"]);
$reg_email = mysql_escape_string($_REQUEST["l2email"]);

if($_SESSION['captcha_keystring'] != $_REQUEST['kcaptcha'])
    $error_str .= "<li> Код c картинки не верный.n";
if(empty($reg_login) || empty($_REQUEST["l2password"]) || empty($_REQUEST["l2password2"]) || empty($_REQUEST["l2email"]) || empty($_REQUEST["l2answer"]) || empty($_REQUEST["l2question"]))
    $error_str .= "<li> Все поля необходимы к заполнению.n";
if(strlen($reg_login)>16 || strlen($reg_login)<4)
    $error_str .= "<li> Логин должен быть не меньше 4 и не больше 16 символов.n";
if($_REQUEST["l2password"] != $_REQUEST["l2password2"])
    $error_str .= "<li> Указанные пароли не совпадают.n";
if(strlen($_REQUEST["l2answer"])<4 || strlen($_REQUEST["l2question"])<4)
    $error_str .= "<li> Вопрос и ответ должны быть не меньше 4 символов.n";
if(!check_email($reg_email))
    $error_str .= "<li> Адрес email указан не верно.n";
else{
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE email='$reg_email' LIMIT 1")))
    $error_str .= "<li> Указанный email уже используется.n";
}
if(preg_match("|[а-яА-Я]|", $_REQUEST["l2password2"]))
    $error_str .= "<li> Пароль не может содержать символы кириллицы.n";
if(!preg_match("/^[a-zA-Z0-9_-]+$/", $reg_login))
    $error_str .= "<li> Логин содержит недопустимые символы.n";
else{
if($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE login='$reg_login' LIMIT 1")))
    $error_str .= "<li> Указанный логин уже занят.n";
}
if($error_str != '')
    $lineage = "
        При регистрации произошли следующие ошибки:<br>".$error_str."
        <center><a href='".GetURL($_link,"registration")."'>назад</a></center>
        ";
else{
    $dbl->sql_query("INSERT INTO `accounts` (login, password, access_level, email) VALUES ('".$_REQUEST["l2login"].", "base64_encode(pack('H*', sha1($_REQUEST["l2password"])))", 0, ".$_REQUEST["l2email"]."')");
    $sql_error = $dbl->sql_error();
if($sql_error["code"]==0){
    $lineage .= "<center>Поздравляем, Вы успешно зарегистрировали аккаунт!<br>На Ваш e-mail выслано подтверждение регистрации.</center><br />";
    InsertLogRecord($reg_login, 'account registration');
}
else{
$lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
$lineage.= "<center><a href='".GetURL($_link,"registration")."'>назад</a></center>";
}
}
}
// вывод рег формы
else{
$kcaptcha_str1 = session_name();
$kcaptcha_str2 = session_id();
$tpl->load_template($tpldir.'/lineage/register.tpl');
$tpl->set('{kcaptcha1}', $kcaptcha_str1);
$tpl->set('{kcaptcha2}', $kcaptcha_str2);
$tpl->compile('register');
$lineage = $tpl->result["register"];
}
?>

На Форуме я тоже Radar!
Я везде Radar!

0
W
WebMasterss

Author

Новичок

Posts: 8

На форуме с: 05/20/2009

Рейтинг: 0

· 05/20/2009, 02:05 PM

The website cannot display the page
HTTP 500
Most likely causes:
•The website is under maintenance.
•The website has a programming error.

What you can try:
Refresh the page.

Go back to the previous page.



я в \www\engine\lineage\registration.php заменял туда надо былО ?

0
Руслан
Руслан

Moderator

Ветеран

Posts: 1201

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

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

Рейтинг: 0

· 05/20/2009, 02:17 PM

WebMasterss: я в \www\engine\lineage\registration.php заменял туда надо былО ?


да

А так что писать будет?
Раскрывающийся текст
Код
<?php

if(!defined('DATALIFEENGINE')) {
    die("Hacking attempt!");
}

if($_action == "reg"){

    if($_SESSION['captcha_keystring'] != $_REQUEST['kcaptcha']) {
        $lineage = "<div class='warning center'>Код c картинки не верный</div><br />";
        
    } elseif (empty($_REQUEST["l2login"]) || empty($_REQUEST["l2password"]) || empty($_REQUEST["l2password2"]) || empty($_REQUEST["l2email"]) || empty($_REQUEST["l2answer"]) || empty($_REQUEST["l2question"])) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, заполните все поля!</div><br />";
    
    } elseif (strlen($_REQUEST["l2login"])>16 || strlen($_REQUEST["l2login"])<4) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, логин должен быть не меньше 4 и не больше 16 символов!</div><br />";

    } elseif ($_REQUEST["l2password"]!=$_REQUEST["l2password2"]) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, пароли не совпадают!</div><br />";

    } elseif (strlen($_REQUEST["l2answer"])<4 || strlen($_REQUEST["l2question"])<4) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, вопрос и ответ должны быть не меньше 4 символов!</div><br />";
        
    } elseif (!check_email($_REQUEST["l2email"])) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, email указан не верно!</div><br />";
        
    } elseif ($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE login='".$_REQUEST["l2login"]."' LIMIT 1"))) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, аккаунт существует!</div><br />";
    
    } elseif ($dbl->sql_numrows($dbl->sql_query("SELECT * FROM accounts WHERE email='".$_REQUEST["l2email"]."' LIMIT 1"))) {
        $lineage = "<div class='warning center'>Ошибка при регистрации, указанный email уже используется!</div><br />";

    } else {
        $dbl->sql_query("INSERT INTO `accounts` (login, password, access_level, email) VALUES ('".$_REQUEST["l2login"].", "base64_encode(pack('H*', sha1($_REQUEST["l2password"])))", 0, ".$_REQUEST["l2email"]."')");
        $sql_error = $dbl->sql_error();
        if($sql_error["code"]==0){
            $lineage = "<center>Поздравляем, Вы успешно зарегистрировали аккаунт!</center><br />";
            InsertLogRecord($reg_login, 'account registration');
        }
        else{
        $lineage = "<div class='warning center'>Неизвестная ошибка, попробуйте еще раз!</div><br />";
}
}
}
// вывод рег формы
else{
$kcaptcha_str1 = session_name();
$kcaptcha_str2 = session_id();
$tpl->load_template($tpldir.'/lineage/register.tpl');
$tpl->set('{kcaptcha1}', $kcaptcha_str1);
$tpl->set('{kcaptcha2}', $kcaptcha_str2);
$tpl->compile('register');
$lineage = $tpl->result["register"];
}
?>

На Форуме я тоже Radar!
Я везде Radar!

0
W
WebMasterss

Author

Новичок

Posts: 8

На форуме с: 05/20/2009

Рейтинг: 0

· 05/20/2009, 02:20 PM

тоже самое страницу не видет может надо редактировать не токо модуль а и в шаблоне ? ?


-------------------
Вот пример даного скрипта с обвязки ребилион может чемто поможет.

Раскрывающийся текст

<?

#################################
//
// Веб-обвязка L2Rebellion Team
// made by Dewiser, version 1.0
// www: www.l2rebellion.com
// E-mail: [email protected]
// ICQ: 484-715-641
//
#################################

if (!defined("C_LOADED")) exit();

function check_mail($mail) {
$mail=trim($mail);
if (preg_match("/^[a-z0-9_.-]{1,20}@(([a-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/is", $mail)) {
return true;
}
return false;
}

function set_reg_page()
{
global $conf, $game_server, $login_server, $serv, $s;
global $submit, $login, $pass, $pass2, $email, $code, $rules;

$html=t_parse(skn("reg_head.html"),get_defined_vars());

if (!$conf['mod_reg']) {
$html.=t_parse(skn("reg_off.html"),get_defined_vars());
return $html;
}

$serv = intval(get_query_var("serv"));
if (!isset($game_server[$serv])) $serv=0;

$login = strval(get_query_var("login"));
$pass = strval(get_query_var("pass"));
$pass2 = strval(get_query_var("pass2"));
$email = strval(get_query_var("email"));
$code = strval(get_query_var("code"));
$rules = get_query_var("rules");

$conn=db_connect($login_server['host'],$login_server['user'],$login_server['pass']) or db_error("Can't connect to database");
db_select($login_server['db'], $conn) or db_error("Can't select database ".$login_server['db']);

$warning="";
$stop=false;

if (isset($_POST['submit'])) {

$warning="<u>Ошибки:</u> <br>";

if (empty($login)) { $stop=true; $warning.="<li>Логин должен быть заполнен.<br>";
} elseif (strlen($login)>16 || strlen($login)<3) { $stop=true; $warning.="<li>Логин не должен быть короче 3-х символов, но и не длиннее 16.<br>";
} elseif (!ereg("^([a-zA-Z0-9_-])*$", $login)) { $stop=true; $warning.="<li>Логин указан не верно. Логин может состоять только из букв латинского алфавита, цифр и знака подчеркивания.<br>"; }

if (empty($code)) { $stop=true; $warning.="<li>Защитный код должен быть введен.<br>";
} elseif (!isset($s['sec_img_code']) || $code!=$s['sec_img_code']) { $stop=true; $warning.="<li>Введеный Вами защитный код не совпадает с тем, что на картинке. <br>"; }

if ($stop==false) {
$query=db_query("SELECT * FROM accounts where login='".db_esc($login)."'", $conn) or db_error("Не удалось получить данные из базы", $conn);
if (db_respond($query, "num_rows")>0) {
$stop=true;
$warning.="<li>Извините, но аккаунт с указанным логином уже зарегистрирован, пожалуйста выбирете другой логин.<br>";
}
}

if (empty($pass)) { $stop=true; $warning.="<li>Пароль должен быть заполнен.<br>";
} elseif (strlen($pass)>16 || strlen($pass)<3) { $stop=true; $warning.="<li>Пароль не должен быть короче 3-х символов, но и не длиннее 16.<br>";
} elseif (!ereg("^([a-zA-Z0-9_-])*$", $pass)) { $stop=true; $warning.="<li>Пароль указан не верно. Пароль может состоять только из букв латинского алфавита, цифр и знака подчеркивания.<br>"; }

if (empty($pass2)) { $stop=true; $warning.="<li>Подтверждение пароля должно быть заполнено.<br>";
} elseif (strlen($pass2)>16 || strlen($pass2)<3) { $stop=true; $warning.="<li>Подтверждение пароля не должено быть короче 3-х символов, но и не длиннее 16.<br>"; }

if (empty($email)) { $stop=true; $warning.="<li>E-Mail должен быть заполнен<br>";
} elseif (!check_mail($email)) { $stop=true; $warning.="<li>E-Mail введен не корректно.<br>"; }

if ($pass!==$pass2) { $stop=true; $warning.="<li>Пароль и подтверждение пароля должны совпадать.<br>"; }

if (!$rules) { $stop=true; $warning.="<li>Если вы не согласитесь с правилами сервера, вы не сможете зарегистрировать аккаунт. <br>"; }

} else {
$stop=true;
}

if ($stop==true) {
$login=html($login);
$email=html($email);

$html.=t_parse(skn("reg.html"),get_defined_vars());
} else {
$email = strtolower($email);
$pass = base64_encode(pack('H*', sha1($pass)));

$query=db_query("INSERT INTO accounts (login, password, access_level, email) VALUES ('".db_esc($login)."' , '".db_esc($pass)."', 0, '".db_esc($email)."')", $conn) or db_error("Не удалось поместить данные в базу", $conn);

$html.=t_parse(skn("reg_ok.html"),get_defined_vars());
}

db_close($conn);

return $html;
}

?>

0
Руслан
Руслан

Moderator

Ветеран

Posts: 1201

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

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

Рейтинг: 0

· 05/20/2009, 02:22 PM

В общем в Асю, и ссылку на страницу туда же))

На Форуме я тоже Radar!
Я везде Radar!

0
Topic is closed for replies