⊗ppPmAuSs 415 of 447 menu

PHP'de Oturum ile Yetkilendirme

Yetkilendirmemiz şu şekilde çalışmalıdır: web sitesinde oturum açmak isteyen kullanıcı, login.php sayfasına gider, doğru kullanıcı adı ve şifreyi girer ve daha sonra sitede gezinirken artık oturum açmış durumda olur.

Sitenin diğer sayfalarının kullanıcımızın oturum açtığını bilmesi için, oturumda bununla ilgili bir işaret saklamalıyız.

Henüz oturumu başlatmadığımız ve sitenin diğer sayfalarının kullanıcının yetkili olup olmadığını anlayamadığı için şu an yetkilendirmemiz tam olarak çalışmıyor.

Yetkilendirme işaretini $_SESSION['auth'] oturum değişkeninde saklayacağız - eğer orada true yazıyorsa, kullanıcı yetkilidir, eğer null ise yetkili değildir.

Kodumuzda ilgili düzeltmeyi yapalım:

<?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 { // kullanıcı adı veya şifre yanlış } } ?>

Artık sitedeki herhangi bir sayfada, kullanıcının yetkili olup olmadığını şu şekilde kontrol edebiliriz:

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

Yetkisiz kullanıcılar için bir sayfanın tamamını şu şekilde kapatabilirsiniz:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>sadece yetkili kullanıcılar için metin</p> </body> </html> <?php else: ?> <p>lütfen oturum açın</p> <?php endif; ?>

Sadece sayfanın bir kısmını kapatabilirsiniz:

<!DOCTYPE html> <html> <head> </head> <body> <p>tüm kullanıcılar için metin</p> <?php if (!empty($_SESSION['auth'])) { echo 'sadece yetkili kullanıcılar için metin'; } ?> <p>tüm kullanıcılar için metin</p> </body> </html>

Sitemizde, login.php sayfasına ek olarak, 1.php, 2.php ve 3.php sayfaları da olsun. Bu sayfalara sadece yetkili kullanıcıların erişebilmesini sağlayın.

Sitemizde bir de index.php sayfası olsun. Bu sayfanın bir kısmının tüm kullanıcılara açık, bir kısmının ise sadece yetkililere açık olmasını sağlayın.

Başarılı bir yetkilendirmede, oturuma kullanıcı adının da kaydedilmesi için kodunuzu değiştirin.

Siteye herhangi bir sayfadan giriş yapıldığında, yetkili kullanıcının kendi kullanıcı adını, yetkisiz kullanıcının ise oturum açma sayfasına bir bağlantı görmesini sağlayın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet