我有一个我正在建设的网站。我有一个登录/注册系统和一个成员资料系统。
当用户登录时,会自动将他们定向到他们的个人资料页面。他们可以选择单击编辑配置文件链接并编辑其数据。他们还可以点击其他链接返回查看他们的个人资料。
目前这很有效。
我遇到的问题是导航栏中有一个名为“用户列表”的链接。此链接应该获取数据库中所有当前用户的列表,它使用url末尾的uid =(相应的用户ID#),但是,当您单击任何这些链接时,它返回的配置文件是对于登录用户的那个,而不是他们点击的名称。
我知道这个问题是由我在profile.php页面中的函数引起的:
<?php
include('core/init.inc.php');
$user_info = fetch_user_info($_SESSION['uid']);
?>
由于配置文件页面被告知使用会话uid,我知道任何重定向到profile.php页面都会显示登录的用户信息。
所以,如果我将此函数更改为$ _GET ['uid']'那么我的问题就会出现问题。我能够在用户列表中正确查看用户的配置文件,但之后我的登录用户无法再查看其配置文件或编辑它,因为没有调用会话uid。
所以,我想我想知道我是如何解决这个问题的。如何将不适合登录的配置文件与其自己的个人配置文件分开?请告诉我您需要查看的代码,我很乐意发布。
答案 0 :(得分:2)
您可以进行检查,如果设置了$_GET['uid']
,则使用此变量获取用户信息,否则使用会话变量来获取用户信息。
<?php
include('core/init.inc.php');
if (isset($_GET['uid']) && $_GET['uid'] !='')
{
$user_info = fetch_user_info($_GET['uid']);
}
else
{
$user_info = fetch_user_info($_SESSION['uid']);
}
?>