我有一个小代码,它绑定在一个函数中,用于生成用户级标记。例如,如果特定用户的数据库权限设置为9,则他/她是管理员,如果他/她是成员,依此类推。
这是函数
function user_level($user_level) {
if($user_level == 10) {
$level = "<span style='color:#fff;text-shadow:0px 1px 0px #000;font-size:14px;background:#065286;padding:2px 5px;border-radius:3px;'>System Root</span>";
} elseif($user_level == 9) {
$level = "<span style='color:#fff;text-shadow:0px 1px 0px #000;font-size:14px;background:#df4d28;padding:2px 5px;border-radius:3px;'>Admin</span>";
} else {
$level = "<span style='color:#fff;text-shadow:0px 1px 0px #000;font-size:14px;background:#008CD7;padding:2px 5px;border-radius:3px;'>Member</span>";
}
return $level;
}
$level = user_level($user_level);
现在这个函数在自定义论坛脚本中使用,所以初始发布的帖子让我们假设有一个回复。
可悲的是,回复没有显示,而是给了我
Fatal error: Cannot redeclare user_level() (previously declared in /home/u688392685/public_html/comet/viewtopic.php:156) in /home/u688392685/public_html/comet/viewtopic.php on line 156
我不确定最新情况,因为之前工作正常,我记得主机做了一些PHP更改,比如版本更新,但就是这样。有什么方法可以解决这个问题,让我回到正轨吗?
如果相对:Apache / 2.2.14,PHP 5.2.x
答案 0 :(得分:2)
包含该功能的php文件可能包含在脚本中两次。
您可以分别用include(file.php);
或require(file.php);
替换include_once(file.php);
或require_once(file.php);
的任何出现来解决此问题。
答案 1 :(得分:0)
谢谢大家的帮助。
根据@Mario建议,我将该功能移动到目录中并使用
include_once
将该函数插入viewtopic.php