我创建了一个包含2个控制面板的Web应用程序。一个用于管理员,一个用于用户。我希望用户只有在管理员将此操作设置为“打开”(来自他的面板)并且当他将其设置为“关闭”时才能从他们的面板执行一个特定操作。
我的应用程序也使用MySql数据库。
我该如何实施?只有一个字段的额外表格是否可行?我可以通过阅读文件(也许是JSON)来做到这一点吗?
编辑:我希望管理员能够通过点击按钮来切换“开/关”状态,因此常量不是解决方案。
答案 0 :(得分:2)
每次使用动作时都可以使用数据库查询,但是如果它更通用并且你将要使用它很多,我会研究PHP常量。您可以在配置文件中设置它,如:
<强> CONFIG.PHP 强>
define('USER_CAN_MODIFY', true);
<强> Other.php 强>
if ((defined('USER_CAN_MODIFY') and USER_CAN_MODIFY === true) { }
常量具有全局范围,一旦设置就无法更改。
答案 1 :(得分:0)
由于您希望存储单个值,因此您不需要使用DB。您可以将此标志作为序列化值存储在文件中。 以下是简化示例。
define('PERM_FLAG_FILE', 'perm_flag.dat');
$PERM_FLAG = false;
function loadFlag() {
global $PERM_FLAG;
return file_exists(PERM_FLAG_FILE)? unserialize(file_get_contents($PERM_FLAG)) : false;
}
function saveFlag() {
global $PERM_FLAG;
file_put_contents(PERM_FLAG_FILE, serialize($PERM_FLAG));
}
function setFlag($v) {
global $PERM_FLAG;
$PERM_FLAG = (bool)$v;
}