【发布时间】:2011-03-29 22:44:30
【问题描述】:
我希望能够根据用户提供代码的不同变体。因此,如果用户 A 登录,我希望他们看到与他们的偏好相关的代码/页面。
我知道我们可以做一个 php/mysql 来保存路径。但是我如何在同一页面上提供代码。所有用户都有相同的页面 index.php、home.php、profile.php,但我希望能够使用相同的页面来处理这些请求,只需显示他们特定的代码..
【问题讨论】:
标签: php customization
我希望能够根据用户提供代码的不同变体。因此,如果用户 A 登录,我希望他们看到与他们的偏好相关的代码/页面。
我知道我们可以做一个 php/mysql 来保存路径。但是我如何在同一页面上提供代码。所有用户都有相同的页面 index.php、home.php、profile.php,但我希望能够使用相同的页面来处理这些请求,只需显示他们特定的代码..
【问题讨论】:
标签: php customization
试一试……
您可以将从数据库加载的首选项或其他任何内容存储在会话变量中。 下一步是简单地在页面上打印这些变量。这样每个用户都有自己的页面。
例子:
echo "<p>Welcome ".$_SESSION['username']." to your domain!</p><br />";
echo "<p>I heard you like ".$_SESSION['fav_food']." a lot.</p>";
这将熄灭:
Welcome Barney to you domain!
I head you like chocolate coockies a lot.
你也可以尝试使用 Ajax,但我自己是 Ajax 的菜鸟,所以我无法帮助你,但你可以做一些搜索。
希望对你有帮助!
更新:
要设置会话变量,您可以从您的源中加载一个值,然后像任何其他变量一样存储它。 喜欢:
$_SESSION['username'] = $queryresult['user'];
确保您通过以下方式启动每个页面来启用会话:
session_start();
我希望这是对您问题的回答。
您实际上是从哪里获得用户 a 的信息的?我想是一个数据库?
【讨论】:
不完全确定这是否是您所追求的,但也许它会帮助您走上正确的道路...
<?php
// sample preferences, read from database
$userPrefs = array(
'block1' => true,
'block2' => false,
'block3' => true
);
$block1 = '<div id="block1">This is Block #1!</div>' . PHP_EOL;
$block2 = '<div id="block2">This is Block #2!</div>' . PHP_EOL;
$block3 = '<div id="block3">This is Block #3!</div>' . PHP_EOL;
if ($userPrefs['block1'] == true) { echo $block1; }
if ($userPrefs['block2'] == true) { echo $block2; }
if ($userPrefs['block3'] == true) { echo $block3; }
?>
输出:
<div id="block1">This is Block #1!</div>
<div id="block3">This is Block #3!</div>
【讨论】: