-1

我有一个小代码,它绑定在一个函数中,用于生成用户级标签。例如,如果特定用户的数据库权限设置为 9,则他/她是管理员,如果其 0,他/她是成员,依此类推。

这是功能

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

4

2 回答 2

2

包含该函数的 php 文件可能在您的脚本中包含两次。

You can fix this issue by replacing any occurence of include(file.php); or require(file.php); by respectively include_once(file.php); or require_once(file.php);.

于 2013-03-30T00:15:26.407 回答
0

Thanks all for help.

Based on @Mario suggestion I moved the function into a directory and using

include_once

Inserted the function into viewtopic.php

于 2013-03-30T00:17:23.540 回答