⊗ppPmAuSs 415 of 447 menu

Autorizacija kroz sesiju u PHP

Naša autorizacija treba da funkcioniše ovako: korisnik, koji želi da se autorizuje na sajtu, ode na stranicu login.php, unese tačne korisničko ime i lozinku i zatim pregleda stranice sajta već budući autorizovan.

Da bi druge stranice sajta znale o tome, da je naš korisnik autorizovan, moramo čuvati u sesiji oznaku o tome.

Za sada naša autorizacija nije sasvim radna, pošto sesiju još nismo povezali i druge stranice sajta ne mogu da razumeju, da li je korisnik autorizovan ili ne.

Čuvaćemo oznaku o autorizaciji u promenljivoj sesije $_SESSION['auth'] - ako je tamo upisano true, onda je korisnik autorizovan, a ako je null - onda nije autorizovan.

Hajde da unesemo odgovarajuću ispravku u naš kod:

<?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 { // pogrešno je uneo korisničko ime ili lozinku } } ?>

Sada na bilo kojoj stranici sajta možemo proveriti, da li je korisnik autorizovan ili ne, na ovaj način:

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

Može se zatvoriti tekst neke stranice u potpunosti za neautorizovanog korisnika:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>tekst samo za autorizovanog korisnika</p> </body> </html> <?php else: ?> <p>molim vas, autorizujte se</p> <?php endif; ?>

Može se zatvoriti samo deo stranice:

<!DOCTYPE html> <html> <head> </head> <body> <p>tekst za bilo kog korisnika</p> <?php if (!empty($_SESSION['auth'])) { echo 'tekst samo za autorizovanog korisnika'; } ?> <p>tekst za bilo kog korisnika</p> </body> </html>

Neka na našem sajtu, osim stranice login.php, ima još i stranice 1.php, 2.php i 3.php. Uredite tako da ovim stranicama može pristupiti samo autorizovani korisnik.

Neka na našem sajtu ima još i stranica index.php. Uredite tako da deo ove stranice bude otvoren za sve korisnike, a deo - samo za autorizovane.

Izmenite vaš kod tako da pri uspešnoj autorizaciji u sesiju se upisuje takođe korisničko ime korisnika.

Uredite tako da pri ulasku na bilo koju stranicu sajta, autorizovani korisnik vidi svoje korisničko ime, a neautorizovani - link na stranicu za autorizaciju.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij