Advertisement
Guest User

session_alpha_0.1

a guest
Mar 23rd, 2013
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 ($_SESSION['welcome'] == 'YES')  {
  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();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement