⊗ppPmAuSs 415 of 447 menu

Аўтарызацыя праз сесію на PHP

Наша аўтарызацыя павінна працаваць так: карыстальнік, які хоча аўтарызавацца на сайце, заходзіць на старонку login.php, убівае правільныя лагін і пароль і далей ходзіць па старонках сайта ўжо будучы аўтарызаваным.

Каб іншыя старонкі сайта ведалі пра тое, што наш карыстальнік аўтарызаваны, мы павінны захоўваць у сесіі паметку пра гэта.

Пакуль наша аўтарызацыя не зусім працоўная, бо сесію мы яшчэ не падключылі і іншыя старонкі сайта не могуць зразумець, аўтарызаваны карыстальнік ці не.

Будзем захоўваць паметку пра аўтарызацыю ў зменнай сесіі $_SESSION['auth'] - калі там запісана true, то карыстальнік аўтарызаваны, а калі null - то не аўтарызаваны.

Давайце ўнесем адпаведную праўку ў наш код:

<?php session_start(); if (!empty($_POST['password']) and !empty($_POST['login'])) { $login = $_POST['login']; $password = $_POST['password']; $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $_SESSION['auth'] = true; } else { // няправільна ўвёў лагін ці пароль } } ?>

Цяпер на любой старонцы сайта мы можам праверыць, аўтарызаваны карыстальнік ці не, вось такім чынам:

<?php if (!empty($_SESSION['auth'])) { } ?>

Можна закрыць тэкст якой-небудзь старонкі цалкам для неаўтарызаванага карыстальніка:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>тэкст толькі для аўтарызаванага карыстальніка</p> </body> </html> <?php else: ?> <p>калі ласка, аўтарызуйцеся</p> <?php endif; ?>

Можна закрыць толькі частку старонкі:

<!DOCTYPE html> <html> <head> </head> <body> <p>тэкст для любога карыстальніка</p> <?php if (!empty($_SESSION['auth'])) { echo 'тэкст толькі для аўтарызаванага карыстальніка'; } ?> <p>тэкст для любога карыстальніка</p> </body> </html>

Хай на нашым сайце, акрамя старонкі login.php, ёсць яшчэ і старонкі 1.php, 2.php і 3.php. Зрабіце так, каб да гэтых старонак мог атрымаць доступ толькі аўтарызаваны карыстальнік.

Хай на нашым сайце ёсць яшчэ і старонка index.php. Зрабіце так, каб частка гэтай старонкі была адкрыта для ўсіх карыстальнікаў, а частка - толькі для аўтарызаваных.

Мадыфікуйце ваш код так, каб пры паспяховай аўтарызацыі ў сесію запісваўся таксама лагін карыстальніка.

Зрабіце так, каб пры заходзе на любую старонку сайта, аўтарызаваны карыстальнік бачыў свой лагін, а не аўтарызаваны - спасылку на старонку аўтарызацыі.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць