View difference between Paste ID: dU45D6na and Y5DRCcNz
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();