⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել