Ogólnie już na początku jest źle bo wyciągasz wszystkich userów z bazy
$query = 'SELECT * FROM users';
$result = mysqli_query($conn, $query);
while($user = $result -> fetch_assoc()){
if($user['userName'] == $_SESSION['login'] && $user['permissionLevel'] < 2)
header('Location: employee.php'); }
powinno być:
$query = 'SELECT * FROM users WHERE userName = ' . $_SESSION['login'];
przyspieszy to skrypt o tyle ile masz wpisów w bazie - czyli o jakieś 6 tysięcy razy
Do tego przekierowujesz niezalogowanego uzytkownika dopiero PO wyciągnięciu wszystkich innych z bazy:
$query = 'SELECT * FROM users';
$result = mysqli_query($conn, $query);
while($user = $result -> fetch_assoc()){
if($user['userName'] == $_SESSION['login'] && $user['permissionLevel'] < 2)
header('Location: employee.php'); }
if(!isset($_SESSION['loggedIn']) || $_SESSION['loggedIn'] == false) header('Location: login.php');
co też oczywiście jest błędem bo po co wyciągać wszystkich userów po to zeby potem przekierować niezalogowanego na stronę login.php?
Do tego:
<link rel="stylesheet" href="style.css?v=
<?php echo rand(1, 1000000) ?>">
Przed czym to ma zabezpieczać przed cachowaniem wyników w przeglądarce? a jak trafisz na taką samą liczbę?
Ta pętla też jest ciekawa
while($numOfUsers > 0 and $k <= $numOfUsers){
$query = 'SELECT * FROM users WHERE id > '.$currWorkerId.' ORDER BY id ASC';
$worker = mysqli_fetch_array(mysqli_query($conn, $query));
$currWorkerId = $worker['id'];
$k++;
echo '<option value="'.$worker['userName'].'"'; if($doc['workerAsigned'] == $worker['userName']) echo'selected'; echo ' >'.$worker['userName'].'</option>'; }
zapytanie w pętli...