Переход на профиль пользователя из списка пользователей

Начнем с того что я новенькой в этой сфере. У всех есть свой профиль, и перейти на них можно, как я знаю, добавив GET-запрос в url.Проблема заключается в том, что в приложенном коде ниже я вывожу список всех пользователей сайта, список и выводится, но на профиль пользователя не переходит, так как не открывает url. Возможно нужно подкорректировать index.php .Хочу понять, как можно исправить эту проблему.
Код:
Фрагмент friend.php


$result = mysqli_query($connect, "SELECT * FROM users");
for ($array = []; $row = mysqli_fetch_assoc($result); $array[] = $row);
foreach ($array as $elem) {
            echo "<a href='profile?id={$elem[id]}'>xuy ";

Фрагмент index.php


if ( $_SERVER['REQUEST_URI'] == '/') $page = 'main';
else {
    
    $page = substr($_SERVER['REQUEST_URI'], 1);
    if ( !preg_match('/^[A-z0-9]{3,15}$/', $page) ) exit(header("Location: /404notFound"));
}
if ( file_exists('general/all/'.$page.'.php') ) include 'general/all/'.$page.'.php';

else if ( $_SESSION['id'] == NULL and file_exists('general/guest/'.$page.'.php') ) include 'general/guest/'.$page.'.php';

else if ( $_SESSION['id'] == true and file_exists('general/authorized/'.$page.'.php') ) include 'general/authorized/'.$page.'.php';

else if ( $_SESSION['id'] == true and file_exists('general/admin/'.$page.'.php') ) include 'general/admin/'.$page.'.php';

else if ( $_SESSION['id'] == NULL) header("Location: /login");

else header("Location: /404notFound");

Буду очень рад если мне кто-нибудь да поможет.


Ответы (1 шт):

Автор решения: prnc

Спасибо всем кто помог с ответом
Оказалось, нужно было исправить кое-что в index.php:

if ( $_SERVER['REQUEST_URI'] == '/') $page = 'main';
else {
    
    $page = substr($_SERVER['REQUEST_URI'], 1);
    $lenght = strcspn($page, '?');
    $page = substr($page, 0, $lenght);
    
    if ( !preg_match('/^[A-z0-9]{3,15}$/', $page) ) exit(header("Location: /404notFound"));
}
→ Ссылка