0

我想在我的网站上创建一个页面,用于查看用户个人资料。当用户第一次访问该页面时,我希望它显示他们自己的个人资料。但我想放入一个下拉菜单或其他东西,让他们能够查看其他用户的个人资料。我还没有开始创建它,但是我只想知道我想要实现的目标是否可以通过我的计划实现。

我正在考虑做的是有一个 php 变量,它会是$UserID什么。

开始$UserID将等于当前用户查看页面的 id,例如 1 代表管理员。

然后我会通过该变量从数据库中获取所有数据$UserID

但是为了查看其他用户的个人资料,我想$UserID根据在下拉列表中选择的用户名来更改该变量。

例如,如果 dropdownuser = Test3 则$UserID= 5。

然后它将显示 Test3 的用户配置文件。

我猜对了吗??

4

3 回答 3

0

基本上,您可以实现您想要的,只需注意 PHP 脚本在用户观看页面时是不活动的。它仅在页面加载(或重新加载)时起作用。因此,当用户更改下拉列表中的选定项目时,您将需要重新加载页面。这很容易实现,只需在onchange事件处理程序中进行。

还有另一种方法:AJAX。您可以不在页面加载时调用服务器端,而是在某些内部页面事件(如下拉选择的索引更改)上调用。然后页面不会重新加载,但您需要正确处理 AJAX 响应。对于服务器来说,它就像正在加载一个新页面。阅读更多关于ajax的信息。

于 2013-08-22T07:53:57.207 回答
0

通常这是在两个单独的页面上完成的:当前用户的个人资料(我的个人资料)和一般个人资料页面。

在我的个人资料页面上,您使用登录用户的 ID,例如$_SESSION['user-id']在一般个人资料页面上,您使用下拉菜单中的 ID 或通过 URL 出现的任何内容,例如$_GET['user-id'].

于 2013-08-22T07:51:42.427 回答
0

正确的。当您查询数据库时,传入一个 ID,以便获取该特定 ID 的信息

$select = $db->query('SELECT id, name, info FROM table WHERE id = :id');
$select->execute(array(':id' => $_POST['id']));

你的html是

<form method="post">
<select name="id">
<option value="1">Person 1</option>
<option value="2">Person 2</option>
</select>

<input type="submit" value="Select user" />
</form>
于 2013-08-22T07:52:19.977 回答