SHOW:
|
|
- or go back to the newest paste.
1 | index.php - для проверки (есть сессия - на первую страницу, нет - логин) | |
2 | login.php - страница входа | |
3 | first.php, second.php, third.php - страницы, которые должны быть защищены | |
4 | settings.php - страница с настройками, записывает куки | |
5 | logout.php - страница со скриптом удаления сессии и кук | |
6 | ||
7 | index.php | |
8 | ||
9 | - | if (isset($_SESSION['username']) && isset($_SESSION['password'])) { |
9 | + | |
10 | header("Location: first.php"); | |
11 | exit(); | |
12 | } | |
13 | else { | |
14 | header("Location: login.php"); | |
15 | exit(); | |
16 | } | |
17 | // перенаправление, если существует сессия - на первую страницу, иначе - на стрницу входа. | |
18 | ||
19 | ----------- | |
20 | login.php | |
21 | ||
22 | function login($remember, $username, $password) { | |
23 | ||
24 | $usernameTrue = 'super'; // правильный логин | |
25 | $passwordTrue = 'pa$$w0rd'; // правильный пароль | |
26 | ||
27 | session_start(); // рандом | |
28 | $_SESSION['welcome'] = 'NO'; // изначально 'НЕТ' | |
29 | if (($usernameTrue == $username) && ($passwordTrue == $password)) { // если введённые данные совпали с правильными | |
30 | $_SESSION['welcome'] = 'YES'; | |
31 | } | |
32 | /*else { | |
33 | echo 'oops!'; | |
34 | }*/ | |
35 | ||
36 | if ($_SESSION['welcome'] = 'YES') { // если прошли валидацию | |
37 | ||
38 | if ($remember) { // если есть галочка 'запомнить' | |
39 | setcookie('username', $username, time() + 3600 * 24 * 7); | |
40 | setcookie('password', $password, time() + 3600 * 24 * 7); | |
41 | } | |
42 | ||
43 | $username = ($_SESSION['username']); // приравниваю полученный пост-запрос к сессии | |
44 | $password = ($_SESSION['password']); // приравниваю полученный пост-запрос к сессии | |
45 | ||
46 | header("Location: first.php"); // перенаправление на первую страницу | |
47 | exit(); // прекращаю выполнение | |
48 | } | |
49 | /*else { | |
50 | echo ''; | |
51 | }*/ | |
52 | } | |
53 | ||
54 | if (count($_POST) > 0) { // 'если есть пост-запрос' | |
55 | login($_POST['remember'], $_POST['username'], $_POST['password']); // вызов функции login | |
56 | } | |
57 | ||
58 | ----------- | |
59 | first.php | |
60 | ||
61 | session_start(); // рандом | |
62 | ||
63 | /* | |
64 | $usernameTrue = 'super'; // правильный логин | |
65 | $passwordTrue = 'pa$$w0rd'; // правильный пароль | |
66 | */ | |
67 | ||
68 | /* | |
69 | $username = $_SESSION['username']; | |
70 | $password = $_SESSION['password']; | |
71 | */ | |
72 | ||
73 | /*if (!isset($_SESSION['username']) && isset($_COOKIE['username'])) { | |
74 | $_SESSION['username'] = $_COOKIE['username']; | |
75 | } | |
76 | if (!isset($_SESSION['password']) && isset($_COOKIE['password'])) { | |
77 | $_SESSION['password'] = $_COOKIE['password']; | |
78 | }*/ | |
79 | if ($_SESSION['welcome'] == 'YES') { | |
80 | echo ''; | |
81 | } | |
82 | else { | |
83 | header("Location: index.php"); | |
84 | exit(); | |
85 | } // сделал так, т.к. != почему то не работало | |
86 | ||
87 | //if (count($_SESSION) > 0) { | |
88 | ||
89 | //} | |
90 | /* | |
91 | echo $usernameTrue; | |
92 | echo $_SESSION['username']; | |
93 | echo $passwordTrue; | |
94 | echo $_SESSION['password']; | |
95 | */ | |
96 | ||
97 | ----------- | |
98 | settings.php | |
99 | ||
100 | all like first.php and | |
101 | ||
102 | function settings($name, $ava, $bgcolor) { | |
103 | setcookie('name', $name, time() + 3600 * 24 * 7); | |
104 | setcookie('ava', $ava, time() + 3600 * 24 * 7); | |
105 | setcookie('bgcolor', $bgcolor, time() + 3600 * 24 * 7); | |
106 | } | |
107 | if (count($_POST) > 0) { | |
108 | settings($_POST['name'], $_POST['ava'], $_POST['bgcolor']); | |
109 | } | |
110 | ||
111 | ----------- | |
112 | logout.php | |
113 | ||
114 | //function logout() { | |
115 | ||
116 | session_destroy(); // 1-й session_sestroy | |
117 | ||
118 | setcookie('username', '', time() -1); // устареваю куки | |
119 | unset($_SESSION['username']); // удаляю username из сессии | |
120 | setcookie('password', '', time() -1); | |
121 | unset($_SESSION['password']); | |
122 | unset($_SESSION['welcome']); | |
123 | $_SESSION['username'] == NULL; // для етста - присваиваю пустоту | |
124 | $_SESSION['password'] == NULL; | |
125 | $_SESSION['welcome'] == NULL; | |
126 | unset($_SESSION); // для теста - весь массив сессии | |
127 | //setcookie('bgcolor', '', time() -1); // куки удаляются | |
128 | //unset($_COOKIE); | |
129 | ||
130 | ||
131 | //if (count($_SESSION) == 0) { | |
132 | session_destroy(); // 2-й session_sestroy | |
133 | header("Location: index.php"); // перенаправление на главную | |
134 | exit(); | |
135 | //} | |
136 | //} | |
137 | ||
138 | //logout(); |