PHP හරහා සැසි අනුමැතිය

අපගේ අනුමැතිය ක්රියා කළ යුත්තේ මෙසේය: වෙබ් අඩවියකට අනුමත වීමට අවශ්ය පරිශීලකයා, login.php පිටුවට පිවිසෙයි, නිවැරදි පිවිසුම් නාමය සහ මුරපදය ඇතුළත් කරයි සහ ඉන්පසුව වෙබ් අඩවියේ පිටු හරහා ගමන් කරන්නේ දැනටමත් අනුමත වී ඇති බවටයි.

වෙබ් අඩවියේ අනෙකුත් පිටු මෙය දැන ගැනීමට, අපගේ පරිශීලකයා අනුමත වී ඇති බව, අප මෙය පිළිබඳ සටහනක් සැසියේ ගබඩා කළ යුතුය.

අපගේ අනුමැතිය තවමත් සම්පූර්ණයෙන්ම ක්රියාකාරී නැත, මක්නිසාද යත් සැසිය අප තවමත් සම්බන්ධ කර නැති අතර අනෙකුත් වෙබ් අඩවි පිටු තේරුම් ගත නොහැක, අනුමත වී ඇත්ද පරිශීලකයා නැත.

අනුමැතිය පිළිබඳ සටහන සැසි විචල්යයේ ගබඩා කරමු $_SESSION['auth'] - එහි නම් ලියා ඇත true, පසුව පරිශීලකයා අනුමත වී ඇත, නම් null - එවිට අනුමත වී නැත.

අපගේ කේතයට අදාළ නිවැරදි කිරීම් කරමු:

html<?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 {
      // වැරදි පිවිසුම් නාමය හෝ මුරපදය ඇතුළත් කර ඇත
    }
  }
?>

දැන් වෙබ් අඩවියේ ඕනෑම පිටුවකදී අපට පරීක්ෂා කළ හැකිය, පරිශීලකයා අනුමත වී ඇතිද යන්න, මේ ආකාරයෙන් :

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

යම් පිටුවක පාඨය වසා දැමිය හැකිය සම්පූර්ණයෙන්ම අනුමත නොවූ පරිශීලකයා සඳහා:

html<?php if (!empty($_SESSION['auth'])): ?>
  <!DOCTYPE html>
  <html>
    <head>
      
    </head>
    <body>
      <p>අනුමත පරිශීලකයින් සඳහා පමණක් පාඨය</p>
    </body>
  </html>
<?php else: ?>
  <p>කරුණාකර අනුමත වන්න</p>
<?php endif; ?>

පිටුවේ කොටසක් පමණක් වසා දැමිය හැකිය:

html<!DOCTYPE html>
<html>
  <head>
    
  </head>
  <body>
    <p>ඕනෑම පරිශීලකයෙකු සඳහා පාඨය</p>
    <?php
      if (!empty($_SESSION['auth'])) {
        echo 'අනුමත පරිශීලකයින් සඳහා පමණක් පාඨය';
      }
    ?>
    <p>ඕනෑම පරිශීලකයෙකු සඳහා පාඨය</p>
  </body>
</html>
Задание 1

අපගේ වෙබ් අඩවියේ, login.php පිටුව හැර, තවත් පිටු ඇත 1.php, 2.php සහ 3.php. මෙම පිටු වෙත ප්රවේශ විය හැකි වන පරිදි සකසන්න අනුමත පරිශීලකයෙකු පමණි.

Задание 2

අපගේ වෙබ් අඩවියේ තවත් පිටුවක් ඇත index.php. මෙම පිටුවේ කොටසක් වන පරිදි සකසන්න සියලුම පරිශීලකයින් සඳහා විවෘත වන අතර, කොටසක් - අනුමත පරිශීලකයින් සඳහා පමණි.

Задание 3

ඔබගේ කේතය වෙනස් කරන්න එවිට සාර්ථක වූ විට අනුමැතිය සැසියට පරිශීලකයාගේ පිවිසුම් නාමයද ලියා ඇත.

Задание 4

වෙබ් අඩවියේ ඕනෑම පිටුවකට පිවිසෙන විට, අනුමත පරිශීලකයා දකියි ඔහුගේ පිවිසුම් නාමය, අනුමත නොවූ පරිශීලකයා - සබැඳිය අනුමැති පිටුවට.