Php 如何加载基于用户的代码变体?

Php 如何加载基于用户的代码变体?,php,customization,Php,Customization,我希望能够根据用户提供不同版本的代码。因此,如果用户A登录,我希望他们看到与其偏好相关的代码/页面 我知道我们可以使用php/mysql来保存路径。但是如何在同一页上提供代码呢。所有用户都有相同的页面index.php、home.php、profile.php,但我希望能够使用相同的页面来满足这些请求,只需显示指定给他们的代码即可。试试看 您可以在会话变量中存储从数据库加载的首选项或任何其他内容。 下一步是简单地在页面上打印这些变量。这样每个用户都有自己的页面 例如: echo "<p&g

我希望能够根据用户提供不同版本的代码。因此,如果用户A登录,我希望他们看到与其偏好相关的代码/页面

我知道我们可以使用php/mysql来保存路径。但是如何在同一页上提供代码呢。所有用户都有相同的页面index.php、home.php、profile.php,但我希望能够使用相同的页面来满足这些请求,只需显示指定给他们的代码即可。

试试看

您可以在会话变量中存储从数据库加载的首选项或任何其他内容。 下一步是简单地在页面上打印这些变量。这样每个用户都有自己的页面

例如:

echo "<p>Welcome ".$_SESSION['username']." to your domain!</p><br />";  
echo "<p>I heard you like ".$_SESSION['fav_food']." a lot.</p>";
你也可以尝试使用Ajax,但我自己是Ajax的高手,所以我不能帮你,但你可以做一些搜索

我希望它能帮助你

更新:

<div id="block1">This is Block #1!</div>
<div id="block3">This is Block #3!</div>
要设置会话变量,可以从任何源加载一个值,并像存储任何其他变量一样存储该值。 比如:

确保通过以下方式启动每个页面来启用会话:

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>
这是块#1!
这是第三街区!

不太熟悉Ajax。如何将自定义代码加载到此代码中?像自定义功能一样。如何将其加载到您上面提交的代码中..这与AJAX无关,忽略这一点,但请注意其余部分。会话数据很可能就是你想要的,我明白了。我不明白的是如何提供定制代码。比如说我专门为你设计了一个功能。你应该是那个看到它的人。因此,与其将您重定向到一个单独的页面,我如何在一个其他所有人都作为成员获得的页面上为您提供这些代码,但这些功能和服务对您来说是唯一的。如果您的站点的每个成员都有“功能和服务”,您应该将这些功能和服务存储在数据库中,并在用户请求时加载它们。确保它是统一的,例如stackoverflow上的配置文件页面。此外,如果你能说出你所指的功能类型,你的问题的答案可能会更容易给出。该功能可以是另一个文本字段或类似分析工具或照片增强功能的东西OK。可能就是这样。因此,我可以在块中包含php代码,并为它们提供服务。给我24小时玩它。谢谢
<div id="block1">This is Block #1!</div>
<div id="block3">This is Block #3!</div>