⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј