⊗ppPmAuSs 415 of 447 menu

Magtiging deur Sessie in PHP

Ons magtiging moet so werk: 'n gebruiker wat op die webwerf wil magtig, gaan na die bladsy login.php, voer die korrekte gebruikersnaam en wagwoord in en beweeg dan deur die webwerf se bladsye as gemagtig.

Sodat ander bladsye van die webwerf weet dat ons gebruiker gemagtig is, moet ons 'n aanduiding hiervan in die sessie stoor.

Tans is ons magtiging nie heeltemal werkend nie, aangesien ons die sessie nog nie gekoppel het nie en ander webwerf-bladsye nie kan verstaan of die gebruiker gemagtig is of nie.

Ons sal die magtigingsaanduiding in die sessieveranderlike $_SESSION['auth'] stoor - as daar true geskryf is, is die gebruiker gemagtig, en as daar null is - dan is hy nie gemagtig nie.

Kom ons maak die ooreenstemmende wysiging in ons kode:

<?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 { // verkeerde gebruikersnaam of wagwoord ingevoer } } ?>

Nou kan ons op enige bladsy van die webwerf nagaan of die gebruiker gemagtig is of nie, op hierdie manier:

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

Jy kan die teks van 'n bladsy heeltemal toegesluit maak vir 'n ongemagtigde gebruiker:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>teks slegs vir gemagtigde gebruiker</p> </body> </html> <?php else: ?> <p>magtig asseblief</p> <?php endif; ?>

Jy kan slegs 'n gedeelte van die bladsy toemaak:

<!DOCTYPE html> <html> <head> </head> <body> <p>teks vir enige gebruiker</p> <?php if (!empty($_SESSION['auth'])) { echo 'teks slegs vir gemagtigde gebruiker'; } ?> <p>teks vir enige gebruiker</p> </body> </html>

Veronderstel op ons webwerf, behalwe die bladsy login.php, is daar ook bladsye 1.php, 2.php en 3.php. Maak dit so dat slegs gemagtigde gebruikers toegang tot hierdie bladsye kan kry.

Veronderstel op ons webwerf is daar ook 'n bladsy index.php. Maak dit so dat 'n deel van hierdie bladsy oop is vir alle gebruikers, en 'n deel - slegs vir gemagtigdes.

Wysig jou kode sodat met suksesvolle magtiging die gebruiker se gebruikersnaam ook in die sessie geskryf word.

Maak dit so dat wanneer 'n gebruiker na enige bladsy van die webwerf gaan, 'n gemagtigde gebruiker sy gebruikersnaam sien, en 'n ongemagtigde gebruiker - 'n skakel na die magtigingsbladsy.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp