php Регистрация include_once _SERVER DOCUMENT_ROOT home start php titl

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
// Регистрация
include_once ($_SERVER['DOCUMENT_ROOT'] . "/home/start.php");
$title = "Регистрация";
include_once ($_SERVER['DOCUMENT_ROOT'] . "/home/head.php");
if (isset($_POST['more'])) {
$nick = isset($_POST['nick']) ? trim($_POST['nick']) : '';
$pass = isset($_POST['pass']) ? trim($_POST['pass']) : '';
$pass_reply = isset($_POST['pass_reply']) ? trim($_POST['pass_reply']) : '';
$pol = (in_array($_POST['pol'], array(
0,
1
)) ? $_POST['pol'] : 1);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '" . $nick . "'") , 0) > 0) {
$err = "Этот ник уже зарегистрирован. Выберите другой!";
}
if (preg_match("\=|\+|\{|\}|\(|\)|\ |\*|\Admin|/|//|\|\\| |\[|\]|\admin|\sistema|\Sistema|\Админ|\админ|\Система|\система|\а|\й|\ц|\у|\к|\е|\н|\г|\ш|\щ|\з|х|\ф|\ы|\ |\в|\а|\п|\р|\о|\л|\д|\ж|\э|\я|\ч|\с|\м|\и|\Й|\Ц|\У|\К|\Е|\Н|\Г|\Ш|\Щ|\З|\Х|\Ї|\Ф|\І|\В|\А|\П|\Р|\О|\Л|\Д|\Ж|\Є|\Я|\Ч|\-|\=|\С|\М|\И|\Т|\Ь|\Ы|\Ъ|\Э|\Ё|\ї|\|\т|\ь|\^|\%|\\$|#|@|!|&|\~|'|\"|:|;|`|,|\.|\?|<|>", $nick)) {
$err = "В нике присутствуют запрещенные символы";
}
if (!preg_match("#^([A-z0-9\_])+$#ui", $nick)) {
$err = "Ник должен состоять только из букв латинского алфавита, цифр и подчёркиваний.";
}
if (preg_match("#^([_])#ui", $nick)) {
$err = "Ник должен состоять только из букв латинского алфавита, цифр и подчёркиваний.";
}
if (preg_match("#([_])$#ui", $nick)) {
$err = "Ник должен состоять только из букв латинского алфавита, цифр и подчёркиваний.";
}
if (strlen(trim($nick)) < 4 || strlen($nick) > 16) {
$err = "Ник должен содержать от 4 до 16 символов.";
}
if (strlen($pass) < 6) {
$err = "По соображениям безопасности пароль не может быть короче 6-ти символов.";
}
if (strlen($pass) > 32) {
$err = "Длина пароля превышает 32 символа.";
}
if ($pass != $pass_reply) {
$err = "Пароли не совпадают.";
}
if (!isset($err)) {
mysql_query("INSERT INTO `user` SET
`nick` = '" . $nick . "',
`pass` = '" . md5($pass) . "',
`date_reg` = '" . $time . "',
`date_last` = '" . $time . "',
`pol` = '" . $pol . "',
`IP` = '" . get_ip() . "',
`browser` = '" . $ua . "'
");
$id_user = mysql_insert_id();
$_SESSION['id_user'] = $id_user;
$user = intval($id_user);
header("Location: /");
exit;
}
}
echo '<form method="post">
<div class="block">Ник:</br>
<input type="text" name="nick"/></br>
</div>
<div class="block">Пароль:</br>
<input type="text" name="pass" /></br>
</div>
<div class="block">Подтвердите пароль:</br>
<input type="text" name="pass_reply" /></br>
</div>
<div class="comment">Ваш пол:</br>
<select name="pol">
<option value="1"' . ($pol == 1 ? ' SELECTED' : NULL) . '>Мужской</option>
<option value="0"' . ($pol == 0 ? ' SELECTED' : NULL) . '>Женский</option>
</select></br>
</div>
<div class="block">
<input type="submit" name="more" value="Регистрация" /></div></form>';
include_once ($_SERVER['DOCUMENT_ROOT'] . "/home/foot.php");
?>