我希望能够根据用户提供不同的代码变体。因此,如果USer A登录,我希望他们看到与他们的偏好相关的代码/页面。
我知道我们可以用php / mysql来保存路径。但是我如何在同一页面上提供代码。所有用户都有相同的页面index.php,home.php,profile.php,但我希望能够使用同一页面来提供这些请求,只需显示特定的代码即可。
答案 0 :(得分:1)
试一试......
您可以在会话变量中存储从数据库加载的首选项。 下一步是在页面上简单地打印这些变量。这样每个用户都可以获得自己的页面。
示例:
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的信息?我想一个数据库?
答案 1 :(得分:1)
不完全确定这是否是你所追求的,但也许它会帮助你走上正确的道路......
<?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>