Я написал простую систему входа в систему, и это работает. Я настроил несколько страниц, которые можно просматривать только после входа в систему. Я хочу ограничить страницу определенными идентификаторами сеансов. Как бы я поступил так? Это то, что я сейчас использую для ограничения страниц:
<?php
session_start();
if (!isset($_SESSION['u_id'])) {
header("Location: ../index.php?index=mustlogin");
exit();
}
?>
Как бы я ограничил это от любого u_id до определенного u_id?
Вы можете создать массив конкретных идентификаторов, а затем использовать in_array проверить пользователя.
пример
<?php
session_start();
$sessionIds = array('1','2'); //for example i have inserted 1 and 2 as ids
if (!isset($_SESSION['u_id']) || in_array($_SESSION['u_id'], $sessionIds)) {
header("Location: ../index.php?index=mustlogin");
exit();
}
объяснение
Здесь я создал массив $ sessionIds конкретных идентификаторов, которые не позволят получить доступ к странице. затем проверьте с помощью in_array, что текущий идентификатор пользователя сеанса существует в $ sessionIds массив затем перенаправить на пользователя.
Вы должны соответствовать вашему $ _SESSION [ ‘UID’] с вашим конкретным идентификатором. Для этого вам нужны какие-то данные для конкретного идентификатора пользователя. Есть несколько подходов, чтобы сделать это, но я бы сделал это с массивом. Что вам нужно, это массив ваших конкретных идентификаторов
//Should've come from database of your users
$specific= array(
"id" => 1
);
А потом просто искать в массиве через in_array ()
if (!in_array($_SESSION['u_id'], $specific)) {
header("Location: ../index.php?index=mustlogin");
exit();
}