Авторизация
\n"; include_once 'sys/inc/tfoot.php'; } elseif($set['reg_select']=='open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation']!=NULL) { $result = mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['id'])."' AND `activation` = '".my_esc($_GET['activation'])."'"); if($result && mysql_result($result, 0) == 1) { mysql_query("UPDATE `user` SET `activation` = 'null' WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"); $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1")); mysql_query("INSERT INTO `reg_mail` (`id_user`, `mail`) VALUES ('".$user[id]."', '".$user[ank_mail]."')"); msg('Ваш аккаунт успешно активирован'); $_SESSION['id_user']=$user['id']; include_once 'sys/inc/tfoot.php'; } } if (isset($_SESSION['step']) && $_SESSION['step']==1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".$_SESSION['reg_nick']."'"),0)==0 && isset($_POST['pass1']) && $_POST['pass1']!=NULL && $_POST['pass2'] && $_POST['pass2']!=NULL) { if ($set['reg_select']=='open_mail') { if (!isset($_POST['ank_mail']) || $_POST['ank_mail']==NULL)$err[]='Неоходимо ввести Email'; elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$_POST['ank_mail']))$err[]='Неверный формат Email'; elseif(mysql_result(mysql_query("SELECT COUNT(*) FROM `reg_mail` WHERE `mail` = '".my_esc($_POST['ank_mail'])."'"),0)!=0) { $err[]="Пользователь с этим E-mail уже зарегистрирован"; } } if (strlen2($_POST['ank_name'])<2)$err[]='Не заполненно ваше имя '; if (strlen2($_POST['ank_family'])<2)$err[]='Не заполненно ваша фамилия '; if (strlen2($_POST['pass1'])<6)$err[]='По соображениям безопасности пароль не может быть короче 6-ти символов'; if (strlen2($_POST['pass1'])>32)$err[]='Длина пароля превышает 32 символа'; if (strlen2($_POST['ank_city'])<2)$err[]='Не заполнен город '; if ($_POST['pass1']!=$_POST['pass2'])$err[]='Пароли не совпадают'; if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']){$err[]='Неверное проверочное число';} if (!isset($err)) { if ($set['reg_select']=='open_mail') { $activation=md5(passgen()); mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `activation`, `ank_mail`) values('".$_SESSION['reg_nick']."', '".shif($_POST['pass1'])."', '$time', '$time', '".intval($_POST['pol'])."', '$activation', '".my_esc($_POST['ank_mail'])."')",$db); $id_reg=mysql_insert_id(); $subject = "Активация аккаунта"; $regmail = "Здравствуйте '".$_SESSION['reg_nick']."'
Для активации Вашего аккаунта перейдите по ссылке:
http://'".$_SERVER['HTTP_HOST']."'/reg.php?id=".mysql_insert_id()."&activation=$activation
Если аккаунт не будет активирован в течении 24 часов, он будет удален
С уважением, администрация сайта
"; $adds="From: password@'".$_SERVER['HTTP_HOST']."' \n"; //$adds = "From: <$set[reg_mail]>\n"; //$adds .= "X-sender: <$set[reg_mail]>\n"; $adds .= "Content-Type: text/html; charset=utf-8\n"; mail($_POST['ank_mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds); } else mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`) values('".$_SESSION['reg_nick']."', '".shif($_POST['pass1'])."', '$time', '$time', '".intval($_POST['pol'])."')",$db); $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_SESSION['reg_nick'])."' AND `pass` = '".shif($_POST['pass1'])."' LIMIT 1")); ### if (isset($_POST['ank_name']) && preg_match('#^([A-zА-я \-]*)$#ui', $_POST['ank_name'])) { $user['ank_name']=$_POST['ank_name']; mysql_query("UPDATE `user` SET `ank_name` = '".my_esc($user['ank_name'])."' WHERE `id` = '$user['id']' LIMIT 1"); } else $err[]='Неверный формат имени'; ### if (isset($_POST['ank_d_r']) && (is_numeric($_POST['ank_d_r']) && $_POST['ank_d_r']>0 && $_POST['ank_d_r']<=31 || $_POST['ank_d_r']==NULL)) { $user['ank_d_r']=$_POST['ank_d_r']; if ($user['ank_d_r']==null)$user['ank_d_r']='null'; mysql_query("UPDATE `user` SET `ank_d_r` = $user['ank_d_r'] WHERE `id` = '$user['id']' LIMIT 1"); if ($user['ank_d_r']=='null')$user['ank_d_r']=NULL; } else $err[]='Неверный формат дня рождения'; ### if (isset($_POST['ank_m_r']) && (is_numeric($_POST['ank_m_r']) && $_POST['ank_m_r']>0 && $_POST['ank_m_r']<=12 || $_POST['ank_m_r']==NULL)) { $user['ank_m_r']=$_POST['ank_m_r']; if ($user['ank_m_r']==null)$user['ank_m_r']='null'; mysql_query("UPDATE `user` SET `ank_m_r` = $user['ank_m_r'] WHERE `id` = '$user['id']' LIMIT 1"); if ($user['ank_m_r']=='null')$user['ank_m_r']=NULL; } else $err[]='Неверный формат месяца рождения'; ### if (isset($_POST['ank_g_r']) && (is_numeric($_POST['ank_g_r']) && $_POST['ank_g_r']>0 && $_POST['ank_g_r']<=date('Y') || $_POST['ank_g_r']==NULL)) { $user['ank_g_r']=$_POST['ank_g_r']; if ($user['ank_g_r']==null)$user['ank_g_r']='null'; mysql_query("UPDATE `user` SET `ank_g_r` = $user['ank_g_r'] WHERE `id` = '$user['id']' LIMIT 1"); if ($user['ank_g_r']=='null')$user['ank_g_r']=NULL; } else $err[]='Неверный формат года рождения'; /* ======================================== Создание настроек юзера ======================================== */ mysql_query("INSERT INTO `user_set` (`id_user`) VALUES ('$user['id']')"); mysql_query("INSERT INTO `discussions_set` (`id_user`) VALUES ('$user['id']')"); mysql_query("INSERT INTO `tape_set` (`id_user`) VALUES ('$user['id']')"); mysql_query("INSERT INTO `notification_set` (`id_user`) VALUES ('$user['id']')"); if (isset($_SESSION['http_referer'])) mysql_query("INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`) VALUES ('$time', '$user[id]', 'reg', '".my_esc($_SESSION['http_referer'])."')"); $_SESSION['id_user']=$user['id']; setcookie('id_user', $user['id'], time()+60*60*24*365); setcookie('pass', cookie_encrypt($_POST['pass1'],$user['id']), time()+60*60*24*365); if ($set['reg_select']=='open_mail') { msg('Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email'); } else { mysql_query("update `user` set `wall` = '0' where `id` = '$user[id]' limit 1"); header('Location: /umenu.php?login=' . htmlspecialchars($_POST['reg_nick']) . '&pass=' . htmlspecialchars($_POST['pass1'])); } echo "Если Ваш браузер не поддерживает Cookie, Вы можете создать закладку для автовхода
\n"; echo "
\n"; if ($set['reg_select']=='open_mail')unset($user); echo "
\n"; echo "»Мои настройки
\n"; echo "»Мое меню
\n"; echo "
\n"; include_once 'sys/inc/tfoot.php'; } } elseif (isset($_POST['nick']) && $_POST['nick']!=NULL ) { if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."'"),0)==0) { $nick=my_esc($_POST['nick']);if( !preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $_POST['nick']))$err[]='В нике присутствуют запрещенные символы'; if (preg_match("#[a-z]+#ui", $_POST['nick']) && preg_match("#[а-я]+#ui", $_POST['nick']))$err[]='Разрешается использовать символы только русского или только английского алфавита'; if (preg_match("#(^\ )|(\ $)#ui", $_POST['nick']))$err[]='Запрещено использовать пробел в начале и конце ника'; if (strlen2($nick)<3)$err[]='Короткий ник'; if (strlen2($nick)>32)$err[]='Длина ника превышает 32 символа'; } else $err[]='Ник "'.stripcslashes(htmlspecialchars($_POST['nick'])).'" уже зарегистрирован';if (!isset($err)){ $_SESSION['reg_nick']=$nick; $_SESSION['step']=1; msg ("Ник \"$nick\" может быть успешно зарегистрирован"); } } err(); if (isset($_SESSION['step']) && $_SESSION['step']==1) { echo "
\n"; echo "Ваш ник [A-zА-я0-9 -_]:

\n"; echo "\n"; echo "

\n";echo "
\n"; echo "Имя:

\n"; echo "фамилия:

\n"; echo 'Дата рождения:
'; ######################################### echo ''; ############################### echo '
'; echo "Ваш город:

\n"; echo "Проверочное число
\n
\n"; echo "Регистрируясь, Вы автоматически соглашаетесь с правилами сайта
\n"; echo ""; echo "

\n"; } else { echo "
\n"; echo "Ваш ник [A-zА-я0-9 -_]:

\n"; echo "\n"; echo "Введите пароль (6-32 символов):

\n"; echo "Повторите пароль:

\n"; echo "Ваш пол:

\n"; if ($set['reg_select']=='open_mail') { echo "E-mail:

\n"; echo "* Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта.
\n"; } echo "\n"; echo "

\n"; } echo "
Уже зарегистрированы?
»Авторизация
Не можете вспомнить пароль?
»Восстановить пароль
\n"; include_once 'sys/inc/tfoot.php'; ?>