⊗ppPmAuSs 415 of 447 menu

PHP-də sessiya vasitəsilə avtorizasiya

Bizim avtorizasiyamız belə işləməlidir: saytda daxil olmaq istəyən istifadəçi login.php səhifəsinə daxil olur, düzgün login və parol daxil edir və daha sonra saytın səhifələri arasında artıq avtorizasiya olunmuş halda gəzir.

Saytın digər səhifələrinin istifadəçinin avtorizasiya olunduğunu bilməsi üçün biz bunu sessiyada qeyd etməliyik.

Hələlik bizim avtorizasiyamız tam işlək deyil, çünki sessiyanı hələ əlavə etməmişik və saytın digər səhifələri istifadəçinin avtorizasiya olunub-olunmadığını başa düşə bilmir.

Avtorizasiya qeydini $_SESSION['auth'] sessiya dəyişənində saxlayacağıq - əgər ora true yazılıbsa, deməli istifadəçi avtorizasiya olunub, əgər null - deməli avtorizasiya olunmayıb.

Gəlin kodumuzda müvafiq dəyişikliyi edək:

<?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 { // login və ya parol səhv daxil edilib } } ?>

İndi saytın istənilən səhifəsində istifadəçinin avtorizasiya olunub-olunmadığını belə yoxlaya bilərik:

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

Müəyyən bir səhifənin mətnini tamamilə avtorizasiya olunmamış istifadəçilər üçün bağlamaq olar:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>yalnız avtorizasiya olunmuş istifadəçi üçün mətn</p> </body> </html> <?php else: ?> <p>zəhmət olmasa, daxil olun</p> <?php endif; ?>

Səhifənin yalnız bir hissəsini bağlamaq olar:

<!DOCTYPE html> <html> <head> </head> <body> <p>istənilən istifadəçi üçün mətn</p> <?php if (!empty($_SESSION['auth'])) { echo 'yalnız avtorizasiya olunmuş istifadəçi üçün mətn'; } ?> <p>istənilən istifadəçi üçün mətn</p> </body> </html>

Tutaq ki, saytımızda login.php səhifəsindən əlavə, həmçinin 1.php, 2.php3.php səhifələri var. Elə edin ki, bu səhifələrə yalnız avtorizasiya olunmuş istifadəçi daxil ola bilsin.

Tutaq ki, saytımızda həmçinin index.php səhifəsi var. Elə edin ki, bu səhifənin bir hissəsi bütün istifadəçilər üçün açıq olsun, digər hissəsi isə - yalnız avtorizasiya olunmuşlar üçün.

Kodunuzu elə dəyişin ki, uğurlu avtorizasiya zamanı sessiyaya istifadəçinin logini də yazılsın.

Elə edin ki, saytın istənilən səhifəsinə daxil olan zaman avtorizasiya olunmuş istifadəçi öz loginini görsün, avtorizasiya olunmamış istifadəçi isə avtorizasiya səhifəsinə keçid görsün.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et