Javascript 即使在编辑URL以转到其他用户页面时,登录用户的配置文件页面也始终可见

Javascript 即使在编辑URL以转到其他用户页面时,登录用户的配置文件页面也始终可见,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在建设一个社交网站。我已经创建了profile\u page.php,它显示当前用户的配置文件,最终还会显示网站上其他用户的配置文件页面 此时,如果我已登录,并单击按钮Profile,它将引导我进入我的个人资料页面(http://localhost/profile_page/freddy),但是,当我编辑URL时,例如:http://localhost/profile_page/tim,是注册用户,它将为用户显示页面freddy 我知道该页面位于蒂姆的个人资料页面上,因为我有一些按钮只显示给

我正在建设一个社交网站。我已经创建了
profile\u page.php
,它显示当前用户的配置文件,最终还会显示网站上其他用户的配置文件页面

此时,如果我已登录,并单击按钮
Profile
,它将引导我进入我的个人资料页面(
http://localhost/profile_page/freddy
),但是,当我编辑URL时,例如:
http://localhost/profile_page/tim
,是注册用户,它将为用户显示页面
freddy

我知道该页面位于蒂姆的个人资料页面上,因为我有一些按钮只显示给其他用户,我还知道它位于蒂姆的页面上,因为URL
http://localhost/profile_page/tim
,但我不确定为什么它总是显示内容(如个人资料图片和帖子)用户的
freddy

目前,我有以下一段代码,用于确定浏览器所在的配置文件:

<?php
$user = "";
if (isset($_GET['u'])) {
    $user = ($_GET['u']);
    if (ctype_alnum($user)) { //check if the user exists
        $check = mysqli_query($connect, "SELECT * FROM users WHERE username='$user'");
        if (mysqli_num_rows($check) === 1) {
            $get        = mysqli_fetch_assoc($check);
            $user       = $get['username'];
            $fname      = $get['first_name'];
        } else { // refresh page 
            // if the user doesnt exist i.e. ?u=fakeUser - it will redirect them to the index page.
            echo "<meta http-equiv=\"refresh\" content=\"0; url=http://localhost/index.php\">";
            exit();
        }
    }
}
?>

不应该是
http://localhost/profile_page?u=freddy
…?u=tim
?您正在检查用户名的$_GET['u']变量(附加到URL末尾),而不是URL本身的最后一部分。@mark.hch抱歉,我忘了提到,我编写了一些重写规则,允许我直接在末尾键入用户名以进入他们的页面。我将编辑我的问题以向您展示这些规则。
Options -MultiViews
RewriteEngine On
RewriteBase /

RewriteRule ^(me)?/?$ profile_page.php [L,NC]
RewriteRule ^profile(?:_page)?/([\w-]+)/?$ profile_page.php?u=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/?$ profile_page.php?u=$1 [L,QSA]