Page 101 - 4475
P. 101

Після  закінчення  роботи  зі  змінною  сеансу  її
               реєстрацію  можна  скасувати,  скориставшись  функцією
               session unregister():
               session unregister   ("myvar")   ;
                      Подібно  функції  реєстрації,  ця  функція  вимагає
               вказівки ім'я змінної, реєстрацію якої необхідно відмінити,
               у вигляді рядка, що не включає символ $. Дана функція за
               один раз може відмінити реєстрацію тільки однієї змінної
               сеансу.  Однак,  для  скасування  реєстрації  всіх  змінних
               поточного сеансу можна звернутися до session_unset().
                      Після  завершення  сеансу  спочатку  буде  потрібно
               скасувати  реєстрацію  всіх  змінних,  а  потім  викликати
               session_destroy ()для обнулення ідентифікатора сеансу.
                      Розглянемо  приклад  авторизації  з  допомогою  сесій
               для головної сторінки.
               <?php
               session_start();

               if (isset($_POST['userid']) &&
               isset($_POST['password'])) {
                 // Якщо користувач якраз спробував
               зареєструватися
                 $userid = $_POST['userid'];
                 $password = $_POST['password'];

                 $db_conn = new mysqli('localhost', 'webauth',
               'webauth', 'auth');

                 if (mysqli_connect_errno()) {
                   echo 'Неможливо підключитися до бази даних:
               '.mysqli_connect_error();
                   exit();
                 }

                 $query = 'select * from authorized_users '
                          . "where name='$userid' "
                          . " and password=sha1('$password')";

                 $result = $db_conn->query($query);
                 if ($result->num_rows > 0) {
                                            96
   96   97   98   99   100   101   102   103   104   105   106