我有一个小代码,它被绑定在一个函数中,用于生成用户级标签。例如,如果特定用户的数据库权限设置为9,则他/她是Admin,如果设置为0,则他/她是Member,等等。
函数
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
包含该函数的php文件可能在脚本中包含两次。
您可以通过将出现的include(file.php);
或require(file.php);
分别替换为include_once(file.php);
或require_once(file.php);
来解决此问题。
谢谢大家的帮助。
根据@Mario的建议,我将函数移动到一个目录中,并使用
include_once
将函数插入viewtopic.php