Файл: __system/pages/registration.php
Строк: 74
<?
if(!empty($_COOKIE['login']) && !empty($_COOKIE['password']))
{
Header('Location: /cabinet/');
}
DEFINE('TITLE' , 'Регистрация'); # фиксируем титул
head();
echo '<div class="main">';
if(isset($_POST['confirmed']))
{
$error = '';
if(!preg_match("/^[A-Za-z1-9_]{2,20}$/iu",$_POST['login']) && !preg_match("/^[А-ЯЁа-яё1-9_]{2,20}$/iu",$_POST['login']))
# проверяем на запрешенные символы
{
$error .= 'В <i>логине</i> используются запрешенные символы<br>';
}
if((mb_strlen($_POST['login'], 'utf-8')<3) or (mb_strlen($_POST['login'], 'utf-8')>15))
# проверяем на количество символов
{
$error .= '<i>Логин</i> должен быть не менее 3 символов и не более 15<br>';
}
if(!preg_match("/^[A-Za-z1-9_]{2,20}$/iu",$_POST['password']) && !preg_match("/^[А-ЯЁа-яё1-9_]{2,20}$/iu",$_POST['password']))
# проверяем на запрешенные символы
{
$error .= 'В <i>пароле</i> используются запрешенные символы<br>';
}
if((mb_strlen($_POST['password'], 'utf-8')<6) or (mb_strlen($_POST['password'], 'utf-8')>30))
# проверяем на количество символов
{
$error .= '<i>Пароль</i> должен быть не менее 6 символов и не более 30.<br>';
}
if (empty($_POST['email']))
# проверяем на наличие Е-mail
{
$error .= 'Нужно указать <i>E-mail</i>!<br>';
}
if (!empty($_POST['email']) and !preg_match('#^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+(.([A-Za-z0-9])+)+$#', $_POST['email']))
# проверяем на валидность Е-mail
{
$error .= 'Вы ввели неверный адрес e-mail, например name@mail.ru!<br>';
}
$users = $db->prepare("SELECT `id` FROM `users` WHERE `name` = ? LIMIT 1");
$users->bindValue(1, $_POST['login'], PDO::PARAM_STR);
$users->execute();
if($users -> rowCount() > 0)
{ $error .= 'Такой <i>логин</i> уже есть в системе<br>';
}
$users = $db->prepare("SELECT `id` FROM `users` WHERE `email` = ? LIMIT 1");
$users->bindValue(1, $_POST['email'], PDO::PARAM_STR);
$users->execute();
if($users -> rowCount() > 0)
{
$error .= 'Такой <i>email</i> уже есть в системе<br>';
}
if(empty($error))
{
$salt = '';
$length = rand(5,15); # длина соли (от 5 до 10 сомволов)
for($i=0; $i<$length; $i++)
{
$salt .= chr(rand(33,126)); # символ из ASCII-table
}
$password = md5(md5($_POST['password']).$salt);
$us = $db->prepare("INSERT INTO `users` (`id`,`name`,`password`,`salt`,`email`,`access`,`money`) VALUES (?,?,?,?,?,?,?)");
$us -> execute(array('',''.$_POST['login'].'',''.$password.'',''.$salt.'',''.$_POST['email'].'','0',''));
$m= new Mail('utf-8'); // можно сразу указать кодировку, можно ничего не указывать ($m= new Mail;)
$m->From( "Почтовый робот;support@mobtops.ru" ); // от кого Можно использовать имя, отделяется точкой с запятой
$m->ReplyTo( 'Поддержка;support@mobtops.ru' ); // куда ответить, тоже можно указать имя
$m->To( "".$_POST['email']."" ); // кому, в этом поле так же разрешено указывать имя
$m->Subject( "Регистрация пользователя на сайте Mobtops.Ru" );
$m->Body("Здравствуйте!rnВы успешно зарегистрировались на сайте Mobtops.RurnrnВащ логин: ".$_POST['login']."rnВаш пароль: ".$_POST['password']."rn============================rnrnЭто письмо сгенерировано автоматически, отвечать на него не нужно!rnС уважением, администрация http://mobtops.ru.");
$m->Priority(4) ; // установка приоритета
$m->smtp_on("smtp.mobtops.ru","support@mobtops.ru","creative", 25, 10); // используя эу команду отправка пойдет через smtp
$m->Send(); // отправка
echo 'Вы успешно зарегистрированы.<br />
Регистрационные данные высланы вам на email';
}
else
{
echo '<font color=red>'.$error.'</font><br />';
echo '<form action="/registration/" method="post">';
echo 'Логин:<br />';
echo '<input name="login" maxlength="10"/><br />';
echo 'Пароль:<br />';
echo '<input name="password" type="password" maxlength="10"/><br />';
echo 'Ваш e-mail:<br /><input name="email" maxlength="50"/><br />';
echo '<input name="confirmed" type="submit" value="Продолжить" /></form>';
}
}
else
{
echo '<form action="/registration/" method="post">';
echo 'Логин:<br />';
echo '<input name="login" maxlength="10"/><br />';
echo 'Пароль:<br />';
echo '<input name="password" type="password" maxlength="10"/><br />';
echo 'Ваш e-mail:<br /><input name="email" maxlength="50"/><br />';
echo '<input name="confirmed" type="submit" value="Продолжить" /></form>';
}
echo '</div>';
foot();
?>