View file shcms/registration.php

File size: 8.27Kb
<?
/*
=============================================
 Движок:  SHCMS Engine
=============================================
 Название файла: Регистрация
=============================================
 Official website: http://shcms.ru
=============================================
 Данный код защищен авторскими правами
=============================================
*/

define('SHCMS', true);
include_once'../system/inc/basic_settings.php';
if(isset($user_id))
{
header("Refresh:1; url=/index.php");
exit();
}
$titles = mysql_fetch_array(mysql_query("SELECT * FROM `settings_shcms`"));
if(!$titles['act_reg']){
  $shcmsengine['title'] = 'Регистрация отключена';}
else{
  $shcmsengine['title'] = 'Регистрация нового пользователя';
    }
include_once'../template/head.php';
if (!$titles['act_reg']) {
   echo '<p class="errors">Регистрация временно отключена.</p>';
   include_once'../template/foot.php';
   exit;
   }
$reg_cap =mysql_query("SELECT `captcha_reg` FROM `settings_shcms`");
$reg_cap2 = mysql_fetch_array($reg_cap);

if(isset($user_id))
{
header("Refresh: 1; url=/index.php");
exit();
}

$regi = mysql_fetch_array(mysql_query("SELECT * FROM `users`"));
    if(isset($_POST['submit'])){
	  $submit = $_POST['submit'];
	}
    if(isset($_POST['login'])){
	  $reg_login = $_POST['login'];
	 }
    if(isset($_POST['password'])){
	  $reg_password = $_POST['password'];
	}
	    if(isset($_POST['password2'])){
	  $reg_password2 = $_POST['password2'];
	}
    if(isset($_POST['email'])){
	  $email = $_POST['email'];
	}
    if(isset($_POST['pol'])){
	  $pol = $_POST['pol'];
	}

if(isset($submit)) {
$reg_login = stripslashes($reg_login);
$reg_password = stripslashes($reg_password);
$reg_password2 = stripslashes($reg_password2);
$email = stripslashes($email);
$reg_login = htmlspecialchars($reg_login);
$reg_password = htmlspecialchars($reg_password);
$reg_password2 = htmlspecialchars($reg_password2);
$email = htmlspecialchars($email);
$reg_login = trim($reg_login);
$reg_password = trim($reg_password);
$reg_password2 = trim($reg_password2);
$email = trim($email);

if($reg_password != $reg_password2)
{
errors ('Введенные вами пароли не совпадают');
include_once'../template/foot.php';
exit;
}
	if(empty($reg_login)) {
     echo  '<div class="errors">Вы не ввели логин!</div>';
     include_once'../template/foot.php';
	 exit();
    } 
	elseif (mb_strlen($reg_login) < 2 || mb_strlen($reg_login) > 20) {
       echo  '<div class="errors">Длина вашего логина должна быть не менее 2 символов!</div>';
	   include_once'../template/foot.php';
	   exit();
	   }
	if(empty($reg_password)){
       echo '<div class="errors">Вы не ввели пороль!</div>';
	}
    elseif(mb_strlen($reg_password) < 5  or mb_strlen($reg_password) > 30) {
       echo '<div class="errors">Длина пароля должна быть не менее 5 символов!</div>';
       include_once'../template/foot.php';
       exit();
    }
	
//Проверка логина
    if (!preg_match("#^([A-z0-9\-\_\ ])+$#ui", $reg_login)) {
        echo  '<div class="errors">В логине которую вы ввели присутствуют недопустимые символы!</div>';
        include_once'../template/foot.php';
        exit();
	}
	if (preg_match("/[^\da-zA-Z_]+/", $reg_password))
		{
        echo  '<div class="errors">В пороле которую вы ввели присутствуют недопустимые символы!</div>';
		header('Refresh: 1; url=?' . $conservation . '&' );
		include_once'../template/foot.php';
	    exit();
	}
	    if (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$email)){
		echo '<div class="errors">Введенный вами Email неправильный</div>';
		header("Refresh: 1; url=?");
		include_once'../template/foot.php';
		exit();
	}
        $reqmail = mysql_query("SELECT * FROM `users` WHERE `email`='" . mysql_real_escape_string($email) . "';");
    if (mysql_fetch_array($reqmail) != 0) {
        echo  '<div class="errors">Введенный вами Email уже зарегестрирован.</div>';
	    include_once'../template/foot.php';
        exit();      
	}
        $req = mysql_query("SELECT * FROM `users` WHERE `login`='" . mysql_real_escape_string($reg_login) . "';");
    if (mysql_fetch_array($req) != 0) {
        echo  '<div class="errors">Введенный вами логин уже зарегестрирован.</div>';
		include_once'../template/foot.php';
         exit();      
	  }else {
		echo '<div class="actshcms">Логин ('.$reg_login.') свободен и доступен для регистрации.</div>'; }
		
	if(empty($reg_login) or empty($reg_password)){
		echo  '<div class="errors">Введите все данные</div>';
		include_once'../template/foot.php';
        exit();   
		
	}
    if($reg_cap2['captcha_reg'] == 1){
       $antibot = isset($_POST['kod']) ? trim($_POST['kod']) : '';
    
	if (empty($antibot) || strlen($antibot) < 3) {
       echo  '<div class="errors">Код безопастности не введен!</div>';
       header('Refresh: 1; url=?' . $conservation . '&' );
       include_once'../template/foot.php';
       exit();
	}elseif ($antibot != $_SESSION['code']) {
	   echo  '<div class="errors">Код безопасности не соответствует отображённому</div>';
	   header('Refresh: 1; url=?' . $conservation . '&' );
       include_once'../template/foot.php';
       exit();
	}	
unset($_SESSION['code']);}
    if(isset($reg_login) && isset($reg_password)){
	   $pass = md5(md5($reg_password));
	   $ok_table = mysql_query("INSERT INTO `users` (login,password,datereg,ip,email,pol) VALUES ('$reg_login','$pass','$time_date','$vi_shcms','$email','$pol')");
	if($ok_table == true){
		echo '<div class="link_reg">Вы успешно зарегистрировались на сайте '.$_SERVER['HTTP_HOST'].'<br/>
		<br/><a href="http://'.$_SERVER['HTTP_HOST'].''.DIR_SHCMS.'authorization.php">Войти на сайт</a></div>';
		include_once'../template/foot.php';
		exit();
		}else  {
		echo  '<div class="errors">Ошибка регистрации</div>';}}
}

echo '<form action="?'.$conservation.'" method="post">';
echo 'Логин: <small>[A-z 0-9 -_];</small><br/><input type="text" name="login" maxlength="20"  value="'.$reg_login.'"><br/>';
echo 'Пороль: <small>[5-30];</small><br/><input type="password" maxlength="30"  name="password" value="'.$reg_password.'"><br/>';
echo 'Еще раз пороль: <small>[5-30];</small><br/><input type="password" maxlength="30"  name="password2" value="'.$reg_password2.'"><br/>';
echo'Ваш пол:<br/> <select name="pol">';
echo '<option value="1"'.((isset($regi['pol']) and $regi['pol'] == 1)?" selected='selected'":null).'>Мужской</option>';
echo '<option value="2"'.((isset($regi['pol']) and $regi['pol'] == 2)?" selected='selected'":null).'>Женский</option>';
echo '</select><br/>';
echo 'Эл.почта: <br/><input type="text" name="email" maxlength="30" ><br/>';
if($reg_cap2['captcha_reg'] == 1)
{
echo '<script type="text/javascript">
	src="/shcms/antibot.php?r=rand(1000,9999)"; 
    function reload(){
    document.captcha.src="/shcms/antibot.php?r=rand(1000,9999)";
    document.captcha.src=src+"?rand="+Math.random(); } </script>';
    echo '<img  name="captcha" class="midside" alt="Код безопастности" src="'.DIR_SHCMS.'antibot.php?r=' . rand(1000, 9999) . ' "/><br />';
		echo '<a href="javascript:void(0)" onclick="reload()">обновить, если не виден код</a><br/>';
    echo '<input type="text" style="width:115px"  size="5" maxlength="5"  name="kod"/><br/>';
	}
	if (mysql_num_rows($req) != 0)  {
	    echo '<input type="submit" value="Смена логина">';
    }else{
	    echo '<input type="submit" name="submit"">';}
	echo '</form>';
	
echo '<small>* В логине доступны только английские символы.</small><br/>';


include_once'../template/foot.php';
?>