<?php
Defined('INDEX_S_S') or die ('Доступ запрещен!!!');
if ($_POST[pokas] != "1")
{
// запуск генератора числа
srand((double) microtime()*1000000);
$_SESSION['capt'] = rand();
// конец
?>
Для получения расширенных возможностей на сайте, <br />
пожалуйста, пройдите короткий процесс регистрации.<br />
Более подробные данные вы сможите отредактировать после регистрации.
<form name="rega" action="<?php echo $_SERVER[self] ?>" method="post">
<input name="pokas" type="hidden" value="1">
<br /><b>Ящик:</b><br>
<input name="mailto" type="text" value=""><br />
<b>Введите имя:</b><br />
<input name="reg_name" type="text" value=""><br />
<b>Введите пароль:</b><br />
<input name="reg_pass" type="password" value=""><br />
<b>О себе:<br />(не обязательно)</b><br />
<textarea name="reg_info" rows=8 cols=50></textarea><br />
Введите это число:
<?php echo $_SESSION['capt'];?><br />
Сюда: <input name="us_capt" type="text" value="">
<input type="submit" value="Регистрация">
</form>
<?php
}
else
{
$reg_name = $_POST['reg_name'];
$reg_pass = $_POST['reg_pass'];
$reg_info = $_POST['reg_info'];
$reg_mail = $_POST['mailto'];
if ($reg_name != "" and $reg_pass != "" and $reg_mail != "")
{
if (eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $reg_mail))
{
// ПРОЦЕСС РЕГИСТРАЦИИ
// конец проверки
if ($_POST['us_capt'] == $_SESSION['capt'])
{
if (($reg_name != "") and ($reg_pass != ""))
{
// замена символов
$reg_name2 = $reg_name;
$reg_name2=strtr($reg_name2,"абвгдеёзийклмнопрстуфхъыэ_",
"abvgdeeziyklmnoprstufh'iei");
$reg_name2=strtr($reg_name2,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
"ABVGDEEZIYKLMNOPRSTUFH'IEI");
$reg_name2=strtr($reg_name2,
array(
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
)); // очистка строки имени
$reg_name2 = str_replace(" ","_",$reg_name2);
$reg_name2 = str_replace("\\","_",$reg_name2);
$reg_name2 = str_replace("\"","_",$reg_name2);
$reg_name2 = str_replace("'","_",$reg_name2);
$reg_name2 = str_replace(".","_",$reg_name2);
$reg_name2 = str_replace("-","_",$reg_name2);
$reg_name2 = str_replace("/","_",$reg_name2);
$reg_name2 = str_replace("#","_",$reg_name2);
$reg_name2 = str_replace("=","_",$reg_name2);
$reg_name2 = str_replace("|","I",$reg_name2);
$reg_name2 = str_replace("<","_",$reg_name2);
$reg_name2 = str_replace(">","_",$reg_name2);
// очистка строки пароля
$reg_pass = str_replace(" ","_",$reg_pass);
$reg_pass = str_replace("<","_",$reg_pass);
$reg_pass = str_replace(">","_",$reg_pass);
$reg_pass = str_replace("\\","_",$reg_pass);
$reg_pass = str_replace("\"","_",$reg_pass);
$reg_pass = str_replace("'","_",$reg_pass);
$reg_pass = str_replace(".","_",$reg_pass);
$reg_pass = str_replace("-","_",$reg_pass);
$reg_pass = str_replace("/","_",$reg_pass);
$reg_pass = str_replace("#","_",$reg_pass);
$reg_pass = str_replace("=","_",$reg_pass);
// замена сомволов в строке "О себе"
if (isset($_POST[reg_info]))
{
$us_info = $_POST[reg_info];
$us_info = str_replace("'","_",$us_info);
$us_info = str_replace("\"","_",$us_info);
$us_info = str_replace("\\","_",$us_info);
$us_info = str_replace("<","_",$us_info);
$us_info = str_replace(">","_",$us_info);
$us_info = str_replace("Java","_",$us_info);
$us_info = str_replace("java","_",$us_info);
$us_info = str_replace("Script","_",$us_info);
$us_info = str_replace("script","_",$us_info);
};
};
// конец заены символов
// проверка данных
$cop = fopen ("use/log/counter.txt", "r");
$copy = fread($cop, filesize("use/log/counter.txt"));
fclose ($cop);
$copy = explode("|",$copy);
$a = 0;
while ($copy[$a] != "")
{
if ($reg_name2 == $copy[$a])
{
$copyr = $copy[$a] ; break;
}
$a++;
};
// новая проверка
if (($_POST[reg_name] != "")and($_POST[reg_pass] != "") and ($copyr == ""))
{
}
else
{
echo 'Вы не ввели данные или пользователь с таким именем уже зарегистрирован.<br>';
echo '<a href="/">На главную</a>';
exit;
};
$reg_pass = md5(md5(md5($reg_pass)));
// создание учетной записи
$fp = fopen ("use/$reg_name2.php", "w+");
fwrite ($fp, "<?php \r\n");
fwrite ($fp, "Defined('INDEX_S_S') or die ('Доступ запрещен'); \r\n");
//запись данных
fwrite ($fp, "\$us_name = '$reg_name';\r\n");
fwrite ($fp, "\$us_mail = '$save_mail';\r\n");
fwrite ($fp, "\$us_pass = '$reg_pass';\r\n");
fwrite ($fp, "\$us_info = '$us_info';\r\n");
fwrite ($fp, "\$us_tema = '$s_tema';\r\n");
fwrite ($fp, "\$us_status = '1';\r\n");
fwrite ($fp, "\r\n?>");
fclose ($fp);
// редакт счетчиков
$cont = fopen ("use/log/counter.txt", "a+");
fwrite ($cont, "|$reg_name2");
fclose ($cont);
$cont2 = fopen ("use/log/counter2.txt", "r");
$buf = fread ($cont2,filesize("use/log/counter2.txt"));
fclose ($cont2);
$buf++;
$cont2 = fopen ("use/log/counter2.txt", "w+");
fwrite ($cont2, "$buf");
fclose ($cont2);
$ct = fopen("use/v_p/".$reg_name2."count.txt","a");
fwrite($ct,"0");
fclose($ct);
include_once("use/$reg_name2.php");
$_SESSION['is_name'] = $us_name;
$_SESSION['status'] = $us_status;
$_SESSION['login'] = $reg_name2;
$_SESSION['mailto'] = $us_mail;
echo 'Вы удачно зарегистрированы в системе!<br /> <a href="/">На главную</a> ';
}
else
{
echo 'Неверный код. <a href="/">На главную</a> ';
};
}
else
{
echo 'E-mail не корректен.';
};
}
else
{
echo 'Не все поля заполнены.';
};
};
?>