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