Файл: 4mast/profmas.ru/modules/login/reg.php
Строк: 70
<?php
require_once('../../includes/Headers.php');
require_once('../../includes/PDO_func.php');
session_start();
if ( $us == true ) {
header( 'location:/' );
exit;
}
H( 'Регистрация', 'Регистрация' );
if ( isset( $_GET[ 'save' ] ) ) {
$nick = htmlspecialchars( addslashes( trim( $_POST[ 'nick' ] ) ) );
$pass = htmlspecialchars( addslashes( trim( $_POST[ 'pass' ] ) ) );
$pass2 = htmlspecialchars( addslashes( trim( $_POST[ 'pass2' ] ) ) );
$name = htmlspecialchars( addslashes( trim( $_POST[ 'name' ] ) ) );
$sex = htmlspecialchars( addslashes( trim( $_POST[ 'sex' ] ) ) );
$email = htmlspecialchars( addslashes( trim( $_POST[ 'email' ] ) ) );
$captcha = htmlspecialchars( addslashes( $_POST[ 'captcha' ] ) );
$ses_captcha = isset( $_SESSION[ 'captcha' ] ) ? htmlspecialchars( addslashes( $_SESSION[ 'captcha' ] ) ) : null;
if ( empty( $nick ) ) {
echo '<div class="error"><b style="color:red;">Необходимо ввести ник!</b></div>';
} elseif ( !preg_match( '|^[a-zа-я0-9]+$|ui', $nick ) ) {
echo '<div class="error"><b style="color:red;">В нике присутствуют запрещенные символы!</b></div>';
} elseif ( mb_strlen( $nick ) > 32 or mb_strlen( $nick ) < 3 ) {
echo '<div class="error"><b style="color:red;">Логин должен быть от 3 до 32 символов!</b></div>';
} elseif ( DB::$dbs->querySingle( "SELECT COUNT(*) FROM `us` WHERE (`nick`=?)", array($nick) ) ) {
echo '<div class="error"><b style="color:red;">Выбранный вами ник уже занят!</b></div>';
} elseif ( empty( $pass ) ) {
echo '<div class="error"><b style="color:red;">Необходимо ввести пароль!</b></div>';
} elseif ( !preg_match( '|^[a-z0-9]+$|i', $pass ) ) {
echo '<div class="error"><b style="color:red;">В пароле присутствуют запрещенные символы!</b></div>';
} elseif ( mb_strlen( $pass ) > 64 or mb_strlen( $pass ) < 8 ) {
echo '<div class="error"><b style="color:red;">Пароль должен быть от 8 до 64 символов!</b></div>';
} elseif ( $pass != $pass2 ) {
echo '<div class="error"><b style="color:red;">Пароли не совпадают!</b></div>';
} elseif ( empty( $name ) ) {
echo '<div class="error"><b style="color:red;">Необходимо ввести свое имя!</b></div>';
} elseif ( !preg_match( '|^[a-zа-я]+$|ui', $name ) ) {
echo '<div class="error"><b style="color:red;">В имени присутствуют запрещенные символы!</b></div>';
} elseif ( mb_strlen( $name ) > 30 or mb_strlen( $name ) < 3 ) {
echo '<div class="error"><b style="color:red;">Имя должно быть от 3 до 30 символов!</b></div>';
} elseif ( empty( $email ) ) {
echo '<div class="error"><b style="color:red;">Необходимо ввести E-mail!</b></div>';
} elseif ( !preg_match( '/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $email ) ) {
echo '<div class="error"><b style="color:red;">Неверный формат E-mail!</b></div>';
} elseif ( DB::$dbs->querySingle( "SELECT COUNT(*) FROM `us` WHERE (`email`=?)", array($email) ) ) {
echo '<div class="error"><b style="color:red;">Введеный E-mail уже используется!</b></div>';
} elseif ( $captcha != $ses_captcha ) {
echo '<div class="error"><b style="color:red;">Проверочный код введен неверно!</b></div>';
} else {
DB::$dbs->query( "INSERT INTO `us` (`nick`,`pass`,`sex`,`name`,`ip`,`soft`,`email`,`reg`) VALUES (?,?,?,?,?,?,?, '" . time() . "')", array(
$nick,
md5( $pass ),
$sex,
$name,
IP(),
UA(),
$email
) );
$id = DB::$dbs->lastInsertId();
DB::$dbs->query( "INSERT INTO `reg` (`us`) VALUES ('" . $id . "')" );
DB :: $dbs -> query( "INSERT INTO `log_auth` (`us`,`ip`,`ua`,`type`,`time`) VALUES (?,?,?,?, '" . time() . "')", array($id, IP(), UA(), 1) );
setcookie( 'id', $id, time() + 86400 * 365, '/' );
setcookie( 'pass', md5( $pass ), time() + 86400 * 365, '/' );
echo '<div class="list1">
<img src="/images/smile/smile_wellkom.gif" alt=""/> Здравствуйте ' . $us[ 'nick' ] . ' !<br />
Мы рады приветствовать Вас на нашем форуме!<br />
Теперь Вы можете размещать свои вопросы, пожелания, участвовать в беседах.<br />
Здесь Вы всегда найдете поддержку и помощь.<br />
Не забывайте, что на форуме приветствуется корректность и вежливость.<br />
Кроме того, проблемы старайтесь формулировать внятно: в правильно, в заданном вопросе обычно содержится половина ответа.<br />
Новые темы создавать следует лишь в соответствующих разделах.<br />
Приятного пребывания на форуме! Надеемся Вам будет здесь интересно.<br />
С уважением, Администрация форума.<br />
</div>
<div class="menu2"><a href="/" title="На Главную">Продолжить</a></div>';
}
} else {
echo '<div class="list1">
<form method="post" action="?save">
* Ваш ник [A-zА-я0-9] мин. 2, макс. 32:<br/><input name="nick" type="text" maxlength="32" /><br/>
* Ваш пароль [A-z0-9] мин. 8, макс. 64:<br/><input name="pass" type="password" maxlength="64" /><br/>
* Повторите пароль:<br/><input name="pass2" type="password" maxlength="64" /><br/>
* Ваше имя [А-я]:<br/><input name="name" type="text" maxlength="30" /><br/>
Ваш пол:<br/>
<input type="radio" name="sex" value="Муж" checked="checked" />Муж
<input type="radio" name="sex" value="Жен" /> Жен<br/>
* E-mail:<br/><input name="email" type="text" maxlength="30" /><br>
* Проверочный код:<br/> <img src="/captcha" alt="Включите показ изображений"/><br/><input type="text" name="captcha" maxlength="5"/>
<div class="list2">Нажимая кнопку “Зарегистрироваться”, Вы принимаете <a href="/rules">правила</a> сайта.</div>
<input value="Зарегистрироваться" type="submit"/>
</form>
<br />* обязательные поля для заполнения
<br /><font color="#FF3300">Внимание!</font> После регистрации Ваш Ник и E-mail изменить будет нельзя!
</div>
<a href="/login/auth" class="block"><img src="'.$img.'" alt="*"/> Авторизация</a></div>
<a href="/remind.php" class="block"><img src="'.$img.'" alt="*"/> Восcтановление пароля</a></div>';
}
require_once('../../includes/Footers.php');