Обучение/Помощь новичкам | Рега
DELETED
Автор
4 мая 2018, в 19:10
Delete
<?php
session_start();
define('MKTOP', 1);
require_once ('system/connect.php');
require_once ('system/core.php');
require_once ('system/function.php');
unreg();
$title = 'Регистрация';
require_once ('head.php');
$registr = '<form action="/reg.php" method="post">
<div class="text">Логин:<br/><input name="login" type="text" maxlength="30" value="" /></div>
<div class="text">Email:<br/><input name="mail" type="text" maxlength="30" value="" /></div>
<div class="text">Код с картинки:<br/>
<img src="/captha.jpg" maxlength="5" alt="Картинка с кодом" /><br/>
<input name="kod" type="text" value="" /></div>
<div class="text"><input name="ok" type="submit" value="Зарегистрироваться" /></div></form>
<div class="text">Регистрируясь, вы соглашаетесь с <a href="/rules.php">правилами</a> сайта</div>';
if($set['power_reg'] == 0){
echo '<div class="text">Регистрация закрыта</div>';
require_once ('foot.php');
exit;
}
if(isset($_POST['ok'])){
$login = filter($_POST['login']);
$mail = filter($_POST['mail']);
$kod = (int)$_POST['kod'];
$error = '';
if(empty($login) or empty($mail) or empty($kod))
$error .= '<div class="error">Незаполнено одно или несколько полей</div>';
else {
if($_SESSION['kod']!=$kod)
$error .= '<div class="error">Код с картинки введен неверно</div>';
if(mb_strlen($login) > 30 OR mb_strlen($login) < 5)
$error .= '<div class="error">Длина логина должна быть не короче 5 и не длиннее 30 символов</div>';
if (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1")) != 0)
$error .= '<div class="error">Такой логин уже занят</div>';
if (!preg_match('|^[a-z0-9-_]+$|i',$login))
$error .= '<div class="error">В логине можно использовать только буквы английского алфавита и цифры</div>';
if(mb_strlen($mail) > 30 OR mb_strlen($mail) < 5)
$error .= '<div class="error">Длина email должна быть не короче 5 и не длиннее 30 символов</div>';
elseif (!empty($mail) and !preg_match('#^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+(.([A-Za-z0-9])+)+$#', $mail))
$error .= '<div class="error">Email введен неверно</div>';
if (!empty($mail) and (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `mail` = '".$mail."' LIMIT 1")) != 0))
$error .= '<div class="error">Такой email уже зарегистрирован в системе</div>';
}
if(!empty($error)){
echo $error;
echo $registr;
}
else{
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890";
$max=7;
$size=StrLen($chars)-1;
$password='';
while($max--) $password.=$chars[rand(0,$size)];
unset($_SESSION['kod']);
$reg = mysql_query("INSERT INTO `users` SET `login` = '".$login."', `password` = '".$password."', `mail` = '".$mail."', `page_sait` = '".$set['page_sait']."', `page_platforms` = '".$set['page_platforms']."', `page_top` = '".$set['page_top']."', `pages` = '".$set['pages']."', `level` = '1', `time_reg` = '".time()."'");
if($reg){
echo '<div class="text">Вы успешно зарегистрированы</div>';
echo '<div class="text">На указанный Вами email выслано письмо с данными для входа в личный кабинет.
<font color="#fb020a"><b>Если Вам не приходит письмо с регистрационными данными , для начала проверьте папку "спам" в вашем почтовом ящике, возможно фильтры почтового провайдера автоматически направили письмо туда.</b></font></div>';
$subject = "Регистрация в топ-рейтинге ".$set['home'];
$body = "Вы успешно зapeгиcтриpoвaны в топ-рейтинге ".$set['home']."!<br/>
Вaши дaнные:<br/>
Логин: ".$login."<br/>
Пароль: ".$password."<br/>
Эти данные понадобятся Вам при входе в личный кабинет.<br/>
С уважением, администрация топ-рейтинга http://".$set['home']."<br/>
(Это письмо сгенерировано автоматически, поэтому отвечать на него нет смысла)";
$headers = "From: ".$set['mail']." n";
$headers .= "Content-Type: text/html; charset=utf-8n";
mail($mail, $subject, $body, $headers);
unset($_SESSION["kod"]);
}
else{
echo '<div class="error">Ошибка при регистрации</div>';
echo $registr;
}
}
}
else echo $registr;
echo '<a class="link" href="/auth.php">Авторизация</a>';
require_once ('foot.php');
?>
________
посл. ред. 04.05.2018 в 19:17; всего 1 раз(а); by RekZon
DELETED
Автор
4 мая 2018, в 19:11
Delete
Вы уже выбросить лишний код не можете там черным по белому написано где и что
DELETED
Автор
4 мая 2018, в 19:15
Delete
RekZon ,
<?php
session_start();
define('MKTOP', 1);
require_once ('system/connect.php');
require_once ('system/core.php');
require_once ('system/function.php');
unreg();
$title = 'Регистрация';
require_once ('head.php');
$registr = '<form action="/reg.php" method="post">
<div class="text">Логин:<br/><input name="login" type="text" maxlength="30" value="" /></div>
<div class="text">Пароль:<br/><input name="pass" type="text" maxlength="30" value="" /></div>
<div class="text">Email:<br/><input name="mail" type="text" maxlength="30" value="" /></div>
<div class="text">Код с картинки:<br/>
<img src="/captha.jpg" maxlength="5" alt="Картинка с кодом" /><br/>
<input name="kod" type="text" value="" /></div>
<div class="text"><input name="ok" type="submit" value="Зарегистрироваться" /></div></form>
<div class="text">Регистрируясь, вы соглашаетесь с <a href="/rules.php">правилами</a> сайта</div>';
if($set['power_reg'] == 0){
echo '<div class="text">Регистрация закрыта</div>';
require_once ('foot.php');
exit;
}
if(isset($_POST['ok'])){
$login = filter($_POST['login']);
$mail = filter($_POST['mail']);
$password = filter($_POST['pass']);
$kod = (int)$_POST['kod'];
$error = '';
if(empty($login) or empty($mail) or empty($kod))
$error .= '<div class="error">Незаполнено одно или несколько полей</div>';
else {
if($_SESSION['kod']!=$kod)
$error .= '<div class="error">Код с картинки введен неверно</div>';
if(mb_strlen($login) > 30 OR mb_strlen($login) < 5)
$error .= '<div class="error">Длина логина должна быть не короче 5 и не длиннее 30 символов</div>';
if (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1")) != 0)
$error .= '<div class="error">Такой логин уже занят</div>';
if (!preg_match('|^[a-z0-9\-_]+$|i',$login))
$error .= '<div class="error">В логине можно использовать только буквы английского алфавита и цифры</div>';
if(mb_strlen($mail) > 30 OR mb_strlen($mail) < 5)
$error .= '<div class="error">Длина email должна быть не короче 5 и не длиннее 30 символов</div>';
elseif (!empty($mail) and !preg_match('#^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+(\.([A-Za-z0-9])+)+$#', $mail))
$error .= '<div class="error">Email введен неверно</div>';
if (!empty($mail) and (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `mail` = '".$mail."' LIMIT 1")) != 0))
$error .= '<div class="error">Такой email уже зарегистрирован в системе</div>';
}
if(!empty($error)){
echo $error;
echo $registr;
}
else{
unset($_SESSION['kod']);
$reg = mysql_query("INSERT INTO `users` SET `login` = '".$login."', `password` = '".$password."', `mail` = '".$mail."', `page_sait` = '".$set['page_sait']."', `page_platforms` = '".$set['page_platforms']."', `page_top` = '".$set['page_top']."', `pages` = '".$set['pages']."', `level` = '1', `time_reg` = '".time()."'");
if($reg){
echo '<div class="text">Вы успешно зарегистрированы</div>';
unset($_SESSION["kod"]);
}
else{
echo '<div class="error">Ошибка при регистрации</div>';
echo $registr;
}
}
}
else echo $registr;
echo '<a class="link" href="/auth.php">Авторизация</a>';
require_once ('foot.php');
?>
<?php
session_start();
define('MKTOP', 1);
require_once ('system/connect.php');
require_once ('system/core.php');
require_once ('system/function.php');
unreg();
$title = 'Регистрация';
require_once ('head.php');
$registr = '<form action="/reg.php" method="post">
<div class="text">Логин:<br/><input name="login" type="text" maxlength="30" value="" /></div>
<div class="text">Пароль:<br/><input name="pass" type="text" maxlength="30" value="" /></div>
<div class="text">Email:<br/><input name="mail" type="text" maxlength="30" value="" /></div>
<div class="text">Код с картинки:<br/>
<img src="/captha.jpg" maxlength="5" alt="Картинка с кодом" /><br/>
<input name="kod" type="text" value="" /></div>
<div class="text"><input name="ok" type="submit" value="Зарегистрироваться" /></div></form>
<div class="text">Регистрируясь, вы соглашаетесь с <a href="/rules.php">правилами</a> сайта</div>';
if($set['power_reg'] == 0){
echo '<div class="text">Регистрация закрыта</div>';
require_once ('foot.php');
exit;
}
if(isset($_POST['ok'])){
$login = filter($_POST['login']);
$mail = filter($_POST['mail']);
$password = filter($_POST['pass']);
$kod = (int)$_POST['kod'];
$error = '';
if(empty($login) or empty($mail) or empty($kod))
$error .= '<div class="error">Незаполнено одно или несколько полей</div>';
else {
if($_SESSION['kod']!=$kod)
$error .= '<div class="error">Код с картинки введен неверно</div>';
if(mb_strlen($login) > 30 OR mb_strlen($login) < 5)
$error .= '<div class="error">Длина логина должна быть не короче 5 и не длиннее 30 символов</div>';
if (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1")) != 0)
$error .= '<div class="error">Такой логин уже занят</div>';
if (!preg_match('|^[a-z0-9\-_]+$|i',$login))
$error .= '<div class="error">В логине можно использовать только буквы английского алфавита и цифры</div>';
if(mb_strlen($mail) > 30 OR mb_strlen($mail) < 5)
$error .= '<div class="error">Длина email должна быть не короче 5 и не длиннее 30 символов</div>';
elseif (!empty($mail) and !preg_match('#^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+(\.([A-Za-z0-9])+)+$#', $mail))
$error .= '<div class="error">Email введен неверно</div>';
if (!empty($mail) and (mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `mail` = '".$mail."' LIMIT 1")) != 0))
$error .= '<div class="error">Такой email уже зарегистрирован в системе</div>';
}
if(!empty($error)){
echo $error;
echo $registr;
}
else{
unset($_SESSION['kod']);
$reg = mysql_query("INSERT INTO `users` SET `login` = '".$login."', `password` = '".$password."', `mail` = '".$mail."', `page_sait` = '".$set['page_sait']."', `page_platforms` = '".$set['page_platforms']."', `page_top` = '".$set['page_top']."', `pages` = '".$set['pages']."', `level` = '1', `time_reg` = '".time()."'");
if($reg){
echo '<div class="text">Вы успешно зарегистрированы</div>';
unset($_SESSION["kod"]);
}
else{
echo '<div class="error">Ошибка при регистрации</div>';
echo $registr;
}
}
}
else echo $registr;
echo '<a class="link" href="/auth.php">Авторизация</a>';
require_once ('foot.php');
?>
Вот пример регистрации на моём сайте (fiera mysqli)
[code]
<?php
include_once 'sys/inc/start.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/shif.php';
$show_all = true; // показ для всех
include_once 'sys/inc/user.php';
only_unreg();
$set['title'] = lang('Инициализация Персонажа');
include_once 'sys/inc/thead.php';
include_once 'sys/inc/captcha.php';
title();
// если вкл и есть сессия с ником
if ($set['reg_nick_mat'] == 1 && isset($_SESSION['reg_nick'])) {
require_once H . 'sys/inc/censure.php';
$censure = censure($_SESSION['reg_nick']);
//если есть мат
if ($censure) {
$msg_r = 'Попытка регнуть ник с матом ' . output_text($_SESSION['reg_nick']) . '" IP: ' .
$_SERVER['REMOTE_ADDR'] . ' [[url=/' . APANEL . '/ban_ip.php?min=' . $_SERVER['REMOTE_ADDR'] . '] Забанить[/url]]';
msg(lang('Инициализация не возможна. В нике содержится мат. Попробуйте позже'));
if (@$_COOKIE['timess'] <= time()) {
$db->query('INSERT INTO `jurnal_system` (`time`, `type`, `id_user`, `msg`, `id_kont`) VALUES (?i, ?, ?i, ?, ?i);',
[time(), 'system', 0, $msg_r, 0]);
setcookie('timess', time() + 600, time() + 60*60*24*365);
}
if ($_COOKIE['timess_i'] <= time()) {
$_SESSION['reg_nick'] = null;
setcookie('timess_i', time() + 600, time() + 60*60*24*365);
exit(header('Location: ?'));
}
require_once H.'sys/inc/tfoot.php';
exit;
}
}
if ($set['guest_select'] == 1) {
msg(lang('Доступ к сайту разрешен только идентифицированным пользователям'));
}
if ($set['reg_select'] == 'close') {
echo ' <div class="foot">';
$err= lang('Инициализация временно приостановлена');
err();
echo "<div class='reg'>
".lang("Уже инициализированы?")." <br />
<a href='/aut.php'>" . ('Идентификация') . "</a></div></div>";
include_once 'sys/inc/tfoot.php';
} elseif ($set['reg_select'] == 'open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation'] != null) {
$cnt = $db->query('SELECT COUNT(*) cnt FROM `user` WHERE `id`=?i AND `activation`=?',
[$_GET['id'], $_GET['activation']])->row();
if ((int)$cnt['cnt'] == 1) {
$db->query('UPDATE `user` SET `activation`=? WHERE `id`=?i LIMIT ?i', [null, $_GET['id'], 1]);
$user = $db->query('SELECT * FROM `user` WHERE `id`=?i LIMIT ?i', [$_GET['id'], 1])->row();
$db->query('INSERT INTO `reg_mail` (`id_user`,`mail`) VALUES (?i, ?)', [$user['id'], $user['ank_mail']]);
aut();
msg(lang('Ваш персонаж успешно активирован'));
$_SESSION['id_user'] = $user['id'];
include_once 'sys/inc/tfoot.php';
}
}
if (isset($_SESSION['step']) && $_SESSION['step'] ==1 &&
isset($_POST['pass1']) && $_POST['pass1'] != null && $_POST['pass2'] && $_POST['pass2'] != null) {
if ($db->query('SELECT COUNT( * ) FROM `user` WHERE `nick`=?', [$_SESSION['reg_nick']])->el() == 0) {
if ($set['reg_select'] == 'open_mail') {
$cntm = $db->query('SELECT COUNT(*) cntm FROM `reg_mail` WHERE `mail`=?', [$_POST['ank_mail']])->row();
if (!isset($_POST['ank_mail']) || $_POST['ank_mail'] ==null) {
$err[] = lang('Неоходимо ввести Email');
} elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui', $_POST['ank_mail'])) {
$err[] =lang('Неверный формат Email');
} elseif ($db->query('SELECT COUNT(*) FROM `reg_mail` WHERE `mail`=?', [$_POST['ank_mail']])->el() != 0) {
$err[] = lang("Пользователь с этим E-mail уже инициализирован");
}
}
if (mb_strlen($_POST['pass1']) < 6) {
$err[] = lang('По соображениям безопасности пароль не может быть короче 6-ти символов');
}
if (mb_strlen($_POST['pass1']) > 32) {
$err[] = lang('Длина пароля превышает 32 символа');
}
if ($_POST['pass1'] != $_POST['pass2']) {
$err[] = lang('Пароли не совпадают');
}
//Поисковое слово
$world_set_update = $_POST['pass1'];
//файл где ищем
$file_default = file_get_contents(H . 'sys/dat/if_password.txt');
//если нету записываем
if (stripos($file_default, $world_set_update) !== false || $_POST['pass1'] == $_SESSION['reg_nick']) {
$err[] = lang('Пароль слишком простой');
}
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']) {
$err[] = lang('Неверное проверочное число');
}
if (!isset($err)) {
if ($set['reg_select'] == 'open_mail') {
$activation = md5(passgen());
$data = [$_SESSION['reg_nick'], shif($_POST['pass1']), $time, $time, intval($_POST['pol']), intval($_POST['pers']), $activation, $_POST['ank_mail'], time()];
$ins = $db->query('INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `pers`, `activation`, `ank_mail`, `pass_time`)
VALUES( ?, ?, ?i, ?i, ?string, ?string, ?, ?, ?i)', $data);
$id_reg = $ins->id();
$subject = ('Активация аккаунта');
$regmail = ('Здравствуйте') . " $_SESSION[reg_nick]<br />" .
[code]
<?php
include_once 'sys/inc/start.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/shif.php';
$show_all = true; // показ для всех
include_once 'sys/inc/user.php';
only_unreg();
$set['title'] = lang('Инициализация Персонажа');
include_once 'sys/inc/thead.php';
include_once 'sys/inc/captcha.php';
title();
// если вкл и есть сессия с ником
if ($set['reg_nick_mat'] == 1 && isset($_SESSION['reg_nick'])) {
require_once H . 'sys/inc/censure.php';
$censure = censure($_SESSION['reg_nick']);
//если есть мат
if ($censure) {
$msg_r = 'Попытка регнуть ник с матом ' . output_text($_SESSION['reg_nick']) . '" IP: ' .
$_SERVER['REMOTE_ADDR'] . ' [[url=/' . APANEL . '/ban_ip.php?min=' . $_SERVER['REMOTE_ADDR'] . '] Забанить[/url]]';
msg(lang('Инициализация не возможна. В нике содержится мат. Попробуйте позже'));
if (@$_COOKIE['timess'] <= time()) {
$db->query('INSERT INTO `jurnal_system` (`time`, `type`, `id_user`, `msg`, `id_kont`) VALUES (?i, ?, ?i, ?, ?i);',
[time(), 'system', 0, $msg_r, 0]);
setcookie('timess', time() + 600, time() + 60*60*24*365);
}
if ($_COOKIE['timess_i'] <= time()) {
$_SESSION['reg_nick'] = null;
setcookie('timess_i', time() + 600, time() + 60*60*24*365);
exit(header('Location: ?'));
}
require_once H.'sys/inc/tfoot.php';
exit;
}
}
if ($set['guest_select'] == 1) {
msg(lang('Доступ к сайту разрешен только идентифицированным пользователям'));
}
if ($set['reg_select'] == 'close') {
echo ' <div class="foot">';
$err= lang('Инициализация временно приостановлена');
err();
echo "<div class='reg'>
".lang("Уже инициализированы?")." <br />
<a href='/aut.php'>" . ('Идентификация') . "</a></div></div>";
include_once 'sys/inc/tfoot.php';
} elseif ($set['reg_select'] == 'open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation'] != null) {
$cnt = $db->query('SELECT COUNT(*) cnt FROM `user` WHERE `id`=?i AND `activation`=?',
[$_GET['id'], $_GET['activation']])->row();
if ((int)$cnt['cnt'] == 1) {
$db->query('UPDATE `user` SET `activation`=? WHERE `id`=?i LIMIT ?i', [null, $_GET['id'], 1]);
$user = $db->query('SELECT * FROM `user` WHERE `id`=?i LIMIT ?i', [$_GET['id'], 1])->row();
$db->query('INSERT INTO `reg_mail` (`id_user`,`mail`) VALUES (?i, ?)', [$user['id'], $user['ank_mail']]);
aut();
msg(lang('Ваш персонаж успешно активирован'));
$_SESSION['id_user'] = $user['id'];
include_once 'sys/inc/tfoot.php';
}
}
if (isset($_SESSION['step']) && $_SESSION['step'] ==1 &&
isset($_POST['pass1']) && $_POST['pass1'] != null && $_POST['pass2'] && $_POST['pass2'] != null) {
if ($db->query('SELECT COUNT( * ) FROM `user` WHERE `nick`=?', [$_SESSION['reg_nick']])->el() == 0) {
if ($set['reg_select'] == 'open_mail') {
$cntm = $db->query('SELECT COUNT(*) cntm FROM `reg_mail` WHERE `mail`=?', [$_POST['ank_mail']])->row();
if (!isset($_POST['ank_mail']) || $_POST['ank_mail'] ==null) {
$err[] = lang('Неоходимо ввести Email');
} elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui', $_POST['ank_mail'])) {
$err[] =lang('Неверный формат Email');
} elseif ($db->query('SELECT COUNT(*) FROM `reg_mail` WHERE `mail`=?', [$_POST['ank_mail']])->el() != 0) {
$err[] = lang("Пользователь с этим E-mail уже инициализирован");
}
}
if (mb_strlen($_POST['pass1']) < 6) {
$err[] = lang('По соображениям безопасности пароль не может быть короче 6-ти символов');
}
if (mb_strlen($_POST['pass1']) > 32) {
$err[] = lang('Длина пароля превышает 32 символа');
}
if ($_POST['pass1'] != $_POST['pass2']) {
$err[] = lang('Пароли не совпадают');
}
//Поисковое слово
$world_set_update = $_POST['pass1'];
//файл где ищем
$file_default = file_get_contents(H . 'sys/dat/if_password.txt');
//если нету записываем
if (stripos($file_default, $world_set_update) !== false || $_POST['pass1'] == $_SESSION['reg_nick']) {
$err[] = lang('Пароль слишком простой');
}
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']) {
$err[] = lang('Неверное проверочное число');
}
if (!isset($err)) {
if ($set['reg_select'] == 'open_mail') {
$activation = md5(passgen());
$data = [$_SESSION['reg_nick'], shif($_POST['pass1']), $time, $time, intval($_POST['pol']), intval($_POST['pers']), $activation, $_POST['ank_mail'], time()];
$ins = $db->query('INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `pers`, `activation`, `ank_mail`, `pass_time`)
VALUES( ?, ?, ?i, ?i, ?string, ?string, ?, ?, ?i)', $data);
$id_reg = $ins->id();
$subject = ('Активация аккаунта');
$regmail = ('Здравствуйте') . " $_SESSION[reg_nick]<br />" .