2

我有超过 1 个用户使用相同的应用程序文件夹。所以他们共享database.php。

我已将所有信息添加到 $db[][] 矩阵中。现在我只需要在 index.php 文件中设置 $active_group 。

不在控制器中,不在模型中。

任何想法如何做到这一点?

我尝试$active_group = 'test'; 在 index.php 的开头添加,在用户配置部分尝试,在加载引导程序之前尝试,最后尝试。没有任何效果。

我的数据库.php

$active_group = "";
$active_record = TRUE;
// Ale
$db['ale']['hostname'] = 'localhost';
$db['ale']['username'] = 'root';
$db['ale']['password'] = '';
$db['ale']['database'] = 'eo_ale';
$db['ale']['dbdriver'] = 'mysql';
$db['ale']['dbprefix'] = 'ed_';
$db['ale']['pconnect'] = TRUE;
$db['ale']['db_debug'] = TRUE;
$db['ale']['cache_on'] = FALSE;
$db['ale']['cachedir'] = '';
$db['ale']['char_set'] = 'utf8';
$db['ale']['dbcollat'] = 'utf8_general_ci';
$db['ale']['swap_pre'] = '';
$db['ale']['autoinit'] = TRUE;
$db['ale']['stricton'] = FALSE;


// Sre
$db['sre']['hostname'] = 'localhost';
$db['sre']['username'] = 'root';
$db['sre']['password'] = '';
$db['sre']['database'] = 'eo_sre';
$db['sre']['dbdriver'] = 'mysql';
$db['sre']['dbprefix'] = 'ed_';
$db['sre']['pconnect'] = TRUE;
$db['sre']['db_debug'] = TRUE;
$db['sre']['cache_on'] = FALSE;
$db['sre']['cachedir'] = '';
$db['sre']['char_set'] = 'utf8';
$db['sre']['dbcollat'] = 'utf8_general_ci';
$db['sre']['swap_pre'] = '';
$db['sre']['autoinit'] = TRUE;
$db['sre']['stricton'] = FALSE;

所以我现在想要的是创建一个函数,当 ale 登录时,设置 $active_group="ale",或者当 sre 登录时,设置 $active_group = "sre"。

这不应该那么难,但我找不到办法做到这一点......

4

1 回答 1

3

你不能$active_group在 index.php 中设置,因为它会在加载数据库配置文件时被覆盖,但你可以做这样的事情

添加define('ACTIVE_SITE', 'default_new');到 index.php 文件

然后在数据库文件中更改$active_group

if (defined('ACTIVE_SITE')) {
    $active_group = ACTIVE_SITE;
} else {
    $active_group = 'default';
}
于 2013-10-28T21:58:48.743 回答