⊗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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј