[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отредактировать регистратор
Гость_Гость_Илья
Вот скрипт....Я прошу помочь мне.При регистрации у меня пишет ошибку базы.Я так понял нужно заменить где-то на свою базу,вот в чем моя проблема !
<?php
if (!defined("STRESSWEB"))
die("Доступ к данной странице запрещен!");
if ($config["site"]["reg"]["allow"] == 1)
{
$_do = (isset($_REQUEST["do"]) && @$_REQUEST["do"] == "activate") ? "activate" : "reg";
/**************************
* Account Activation
**************************/

if ($_do == "activate")
{
$_hash = (isset($_REQUEST["hash"])) ? strtolower(sqlInjection(phpInjection($_REQUEST["hash"]))) : false;
if ($_hash != false && strlen($_hash) == 25)
{
$sel_hash = $db->query("SELECT `login`,`password`,`question`,`answer`,`email`,`hash` FROM `stress_users_tmp` WHERE `hash`='{$_hash}'");
if ($db->numrows($sel_hash) == 1)
{
$sql_data = $db->fetch_array($sel_hash);
$check_accounts = $ldb->query("SELECT * FROM `accounts` WHERE `login`='{$sql_data["login"]}'");
if ($ldb->numrows($check_accounts) == 0)
{
$ldb->query($ldb->_parse_query($qList[$l2db_ls]["insAccount"], array("login" => $sql_data["login"], "pass" => $sql_data["password"], "l2question" => $sql_data["question"], "l2answer" => $sql_data["answer"], "l2email" => $sql_data["email"])));
if ($ldb->affectedrows() > 0)
{
$db->query("DELETE FROM `stress_users_tmp` WHERE `hash`='{$_hash}'");
$tpl->result["content"] = "<div class='noerror'>Поздравляем, Ваш аккаунт успешно активирован! Приятной игры.</div>";
}
else
{
$tpl->result["content"] = "<div class='error'>Ошибка базы данных! Попробуйте позже.</div>";
}
}

else
{
$db->query("DELETE FROM `stress_users_tmp` WHERE `hash`='{$_hash}'");
$tpl->result["content"] = "<div class='error'>Обнаружены следующие ошибки:<br>Аккаунт уже активирован!</div>";
}
}

else
{
$tpl->result["content"] = "<div class='error'>Обнаружены следующие ошибки:<br>Аккаунт не существует или уже активирован!</div>";
}
}

else
{
$tpl->result["content"] = "";
}
}

/**************************
* Account Registration
**************************/

if ($_do == "reg")
{
if (isset($_POST["register"]) && $_POST["register"])
{
//global $qList, $l2db, $config, $ldb, $db, $l2db_ls;
$error_reg = "";
if ($config["site"]["captcha"]["allow"] == 1)
{
$_l2code_post = $_POST["l2sec_code"];
$_l2code_sess = $_SESSION["sw_captcha"];
}
else
{
$_l2code_post = 1;
$_l2code_sess = 1;
}
$_l2login = strtolower($ldb->safe($_POST["l2account"]));
$_l2pass1 = $ldb->safe($_POST["l2password1"]);
$_l2pass2 = $ldb->safe($_POST["l2password2"]);
$_l2question = $ldb->safe($_POST["l2question"]);
$_l2answer = $ldb->safe($_POST["l2answer"]);
$_l2email = $ldb->safe($_POST["l2email"]);
if (empty($_l2login) || empty($_l2pass1) || empty($_l2pass2) || empty($_l2question) || empty($_l2answer) || empty($_l2email))
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Заполнены не все поля.</div>";
} elseif (!$_l2code_sess or $_l2code_post != $_l2code_sess)
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Введенный Вами код не совпадает с указанным на картинке!</div>";
} elseif (strlen($_l2login) < 4 || strlen($_l2login) > 15 || strlen($_l2pass1) < 4 || strlen($_l2pass1) > 15)
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Логин и пароль должны быть не меньше 4 и не больше 15 символов.</div>";
} elseif ($_l2pass1 != $_l2pass2)
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Пароли не совпадают.</div>";
} elseif (strlen($_l2question) < 4 || strlen($_l2answer) < 4)
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Вопрос и ответ должны быть не меньше 4 символов.</div>";
} elseif (!email_check($_l2email))
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>E-Mail указан не верно.</div>";
} elseif ($ldb->numrows($ldb->query("SELECT * FROM accounts WHERE login='{$_l2login}' LIMIT 1")) || $db->numrows($db->query("SELECT * FROM stress_users_tmp WHERE login='{$_l2login}' LIMIT 1")))
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Такой логин уже существует.</div>";
} elseif (!$config["site"]["reg"]["multi"] && ($ldb->numrows($ldb->query("SELECT * FROM accounts WHERE l2email='{$_l2email}' LIMIT 1")) || $db->numrows($db->query("SELECT * FROM stress_users_tmp WHERE email='{$_l2email}' LIMIT 1"))))
{
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Такой E-Mail уже используется.</div>";
}

if ($error_reg == "")
{
$_login = strtolower($ldb->safe($_l2login));
$_pass = pass_encode($ldb->safe($_l2pass1));
if ($config["site"]["reg"]["method"] == 0)
{
$ldb->query($ldb->_parse_query($qList[$l3]["insAccount"], array("login" => $_login, "pass" => $_pass, "l2question" => $_l2question, "l2answer" => $_l2answer, "l2email" => $_l2email)));
if ($ldb->affectedrows() == 1)
$error_reg = "<div class='noerror'>Поздравляем, Вы успешно зарегистрировали аккаунт! Приятной игры.</div>";
else
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Ошибка базы данных!</div>";
}
else
{
$hash = _code_generate(25);
$db->query("INSERT INTO `stress_users_tmp` (`login`,`password`,`question`,`answer`,`email`,`hash`) VALUES ('$_login', '$_pass', '$_l2question', '$_l2answer', '$_l2email', '$hash')");

$_host = $_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : @getenv('HTTP_HOST');
$mail_subject = "Активация аккаунта";
$mail_message = <<<HTML
Уважаемый {$_login},
Это письмо отправлено с сайта http://
{$_host}

Вы получили это письмо, так как этот e-mail адрес был использован при регистрации на сайте. Если Вы не регистрировались на этом сайте, просто проигнорируйте это письмо и удалите его. Вы больше не получите такого письма.

------------------------------------------------
Ваш логин и пароль на сайте:
------------------------------------------------

Логин:
{$_login}
Пароль: {$_l2pass1}

------------------------------------------------
Инструкция по активации
------------------------------------------------

Благодарим Вас за регистрацию.
Мы требуем от Вас подтверждения Вашей регистрации, для проверки того, что введённый Вами e-mail адрес - реальный. Это требуется для защиты от нежелательных злоупотреблений и спама.

Для активации Вашего аккаунта, зайдите по следующей ссылке:

http://
{$_host}/index.php?f=register&do=activate&hash={$hash}

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

С уважением,

Администрация http://
{$_host} .
HTML;
$mail = send_mail($_l2email, $_login, "{$config["site"]["reg"]["email"]}", $mail_subject, $mail_message);
if ($db->affectedrows() == 1 && $mail)
$error_reg = "<div class='noerror'>Поздравляем, Ваш аккаунт принят для регистрации.<br>На указаный E-Mail отправлено письмо с инструкциями по активации аккаунта.</div>";
else
$error_reg = "<div class='error'>Обнаружены следующие ошибки:<br>Неизвестная ошибка, попробуйте еще раз!</div>";
}
}

if ($error_reg != "")
{
$error_msg = $error_reg;
}
}

$tpl->get_template("register.tpl");
if ($config["site"]["captcha"]["allow"] == 1)
{
$tpl->template = '<script type="text/javascript">//<![CDATA[
function reload () {
var rndval = new Date().getTime();
document.getElementById(
\'sw-captcha\').innerHTML = \'<img src="inc/captcha/antibot.php?rndval=\' + rndval + \'" border="0"><br /><a onclick="reload(); return false;" href="#">Обновить код</a>\';
};
//]]></script>'
. $tpl->template;
$tpl->set_var('[captcha]', "");
$tpl->set_var('[/captcha]', "");
$tpl->set_var('{l2sec_code}', "<span id=\"sw-captcha\"><img src=\"/inc/captcha/antibot.php\" alt=\"Код безопасности\" border=\"0\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">Обновить код</a></span>");
}
else
{
$tpl->set_var('{l2sec_code}', "");
$tpl->set_block("'\\[captcha\\](.*?)\\[/captcha\\]'si", "");
}
$tpl->set_var("{passgen}", "<a href=\"#\" onclick=\"window.open('inc/module/passgen.php','Генерация пароля | Password generation','width=300,height=100,top=200,left=400,location=0,toolbar=0,menubar=0,status=0,scrollbars=0,resizable=0');return false;\">Сгенерировать Пароль</a>");
$tpl->set_var("{THEME}", TPL_DIR);
$tpl->parse("content");
$tpl->clear();
}
}

else
{
$tpl->result["content"] = "<div class='error'>Регистрация отключена Администратором сайта!</div>";
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.