top-image

OLDER ARTICLES

如果你忘记了帝国网站管理系统的后台账号和密码,可以通过以下几种方法来解决这个问题:

方法 1: 重置管理员密码

  1. 登录数据库

    • 使用 phpMyAdmin 或 MySQL 命令行工具登录到数据库。
  2. 查找管理员用户表

    • 查找管理员用户的表,通常为 ecms_admin 或 ecms_user
  3. 更新密码

    • 更新管理员用户的密码。可以使用 MD5 加密后的密码,或者直接设置为明文密码。

    例如,假设表名为 ecms_admin,用户名为 admin

    sql
     
    UPDATE ecms_admin SET admin_pass = MD5('new_password') WHERE admin_id = 1;

    或者直接设置为明文密码:

    sql
     
    UPDATE ecms_admin SET admin_pass = 'new_password' WHERE admin_id = 1;

要在帝国CMS中自动为图片添加 alt 和 title 属性,可以按照以下步骤操作:

步骤 1: 添加自定义函数 user_imgalt()

  1. 打开 userfun.php 文件

    • 找到 e/class/userfun.php 文件并打开。
  2. 添加自定义函数 user_imgalt()

    • 在文件末尾(?> 之前)添加以下函数:
      function user_imgalt($mid, $f, $isadd, $isq, $value, $cs) {
          $title = $_POST['title'];
          $htmls = $value;
      
          // 匹配所有 `<img>` 标签
          $pattern = '/<img[^>]+>/';
          preg_match_all($pattern, $htmls, $matches);
      
          for ($i = 0; $i < count($matches[0]); $i++) {
              // 匹配 `alt` 属性
              preg_match_all('/alt=[\'"](.+?)[\'"]/i', $matches[0][$i], $altimg);
              // 匹配 `title` 属性
              preg_match_all('/title=[\'"](.+?)[\'"]/i', $matches[0][$i], $titleimg);
      
              // 判断是否已经有 `alt` 属性
              $t_alt = count($altimg[0]);
              if ($t_alt == 0) {
                  // 添加 `alt` 属性
                  $htmls = str_replace($matches[0][$i], $matches[0][$i] . ' alt="' . $title . '"', $htmls);
              }
      
              // 判断是否已经有 `title` 属性
              $t_title = count($titleimg[0]);
              if ($t_title == 0) {
                  // 添加 `title` 属性
                  $htmls = str_replace($matches[0][$i], $matches[0][$i] . ' title="' . $title . '"', $htmls);
              }
          }
      
          return $htmls;
      }

步骤 2: 配置模型字段处理函数

  1. 打开模型管理页面

    • 登录帝国CMS后台,进入模型管理页面。
  2. 选择需要处理的模型

    • 选择需要处理的模型,例如新闻模型。
  3. 编辑正文字段

    • 在模型字段中找到正文字段(通常是 newstext)。
    • 在字段处理函数文本框中填写 user_imgalt

    示例:

    • 字段名称:newstext
    • 字段处理函数:user_imgalt

步骤 3: 发布信息

  1. 发布信息
    • 在发布信息时,输入标题和内容。
    • 提交后,系统会自动为图片添加 alt 和 title 属性。
<script type="text/javascript">
var h = new Date().getHours();
var t = "";

if (h >= 7 && h <= 13) {
    t = "<div class='inde_t_ad'><a href='http://example.com/' target='_blank' rel='nofollow'><img src='http://example.com/skin/cmsmoban/images/logo.png' border='0' /></a></div>";
} else if (h >= 14 && h <= 20) {
    t = "广告2";
} else if (h >= 21 || h <= 6) {
    t = "广告3";
}

document.getElementById('time_ads').innerHTML = t;
</script>

注释说明

  1. 早 7 点到 13 点显示广告 1

  2. 14 点到 20 点显示广告 2

  3. 21 点到次日 6 点显示广告 3

     

在帝国CMS中发布内容时,如果包含 emoji 表情,可能会导致保存失败或部分内容丢失。为了解决这一问题,需要从以下几个方面入手:

  1. 配置数据库支持 emoji 表情
  2. 修改帝国CMS 的数据库配置文件
  3. 对字符串进行 base64 编码和解码

步骤 1: 配置数据库支持 emoji 表情

  1. 修改数据库表的字符集

    • 登录 phpMyAdmin 或 MySQL 命令行工具。
    • 修改数据库和相关表的字符集为 utf8mb4
    sql
     
    -- 修改数据库字符集
    ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    -- 修改表字符集
    ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    例如,对于 ecms_news 表:

    sql
     
    ALTER TABLE ecms_news CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

步骤 2: 修改帝国CMS 的数据库配置文件

  1. 打开配置文件

    • 打开 e/config/config.php 文件。
  2. 修改编码设置

    • 在文件中添加或修改以下代码:
      php
       
      $ecms_config['db']['setchar'] = 'utf8mb4'; // 设置默认编码
      $ecms_config['db']['dbchar'] = 'utf8mb4'; // 数据库默认编码

    通常在文件的第 17-18 行附近。

帝国CMS 在截取文章简介时出现 HTML 标签的问题可以通过自定义函数来解决。具体步骤如下:

步骤 1: 自定义函数 NoHTML()

  1. 打开 connect.php 文件

    • 找到 e/class/connect.php 文件并打开。
  2. 添加自定义函数 NoHTML()

    • 在文件中添加以下函数:
      // 去除 HTML 标记
      function NoHTML($string) {
          $string = preg_replace("/<script[^>]*?>.*?</script>/si", "", $string); // 去掉 JavaScript
          $string = preg_replace("/<[/!]*?[^<>]*?>/si", "", $string); // 去掉 HTML 标记
          $string = preg_replace("/[\r\n][\s]+/", "", $string); // 去掉空白字符
          $string = preg_replace("/&(quot|#34);/i", "", $string); // 替换 HTML 实体
          $string = preg_replace("/&(amp|#38);/i", "", $string);
          $string = preg_replace("/&(lt|#60);/i", "", $string);
          $string = preg_replace("/&(gt|#62);/i", "", $string);
          $string = preg_replace("/&(nbsp|#160);/i", "", $string);
          return $string;
      }

步骤 2: 修改列表内容模板

  1. 打开列表内容模板文件

    • 找到需要修改的列表内容模板文件,例如 e/template/default/list_content.html
  2. 修改模板代码

    • 在模板文件中,使用自定义函数 NoHTML() 截取简介并去除 HTML 标签。
    • 修改模板代码如下:
      $r['smalltext'] = esub(NoHTML($r['smalltext']), 200, '......');
      $listtemp = '<li><strong><a href="[!--titleurl--]">[!--title--]</a></strong><p>[!--smalltext--]</p></li>';

解释

  1. 自定义函数 NoHTML()

    • 该函数通过正则表达式去除 HTML 标签、JavaScript 代码以及 HTML 实体。
  2. 修改模板代码

    • 使用 NoHTML() 函数去除 smalltext 字段中的 HTML 标签。
    • esub() 函数用于截取字符串并添加省略号。
  1. 调整帝国CMS 后台参数

    • 将“每组备份(刷新)数”改小一些。
  2. 修改 php.ini 文件

    • 将 max_execution_time 参数值改大一些。
    • 重启 PHP 服务。
  3. 使用 FTP 下载备份数据

    • 如果数据量较大,逐个下载备份文件。

通过以上方法,可以有效解决帝国CMS 中因脚本执行时间超限导致的错误。如果问题仍然存在,建议进一步检查服务器资源和负载情况。

帝国CMS 中出现 “Fatal error: Maximum execution time of …” 错误通常是由于 PHP 脚本执行时间超过了最大允许时间限制。解决这个问题有几种方法:

解决方法一:调整帝国CMS 后台参数

  1. 登录帝国CMS 后台

    • 使用管理员账号登录帝国CMS 后台。
  2. 进入参数设置

    • 在后台菜单中找到“系统参数设置”。
  3. 调整备份刷新数

    • 在“系统参数设置”页面中,找到“每组备份(刷新)数”选项。
    • 将这个数值改小一些,例如从默认的 50 改为 10 或 20。
    • 保存设置。

解决方法二:修改 php.ini 文件

  1. 找到 php.ini 文件

    • 通常 php.ini 文件位于服务器的 /etc/php/版本号/cli/php.ini 或 /etc/php/版本号/fpm/php.ini 目录下。
  2. 修改 max_execution_time 参数

    • 使用文本编辑器打开 php.ini 文件。
    • 找到 max_execution_time 参数。
    • 将其值改大一些,例如从默认的 30 秒改为 120 秒或更大。
      ini
       
      max_execution_time = 120
  3. 重启 PHP 服务

    • 根据你的服务器环境,执行相应的命令来重启 PHP 服务。
      • 对于 PHP-FPM:
        sh
         
        sudo service php7.4-fpm restart
      • 对于 Apache:
        sh
         
        sudo service apache2 restart

解决方法三:使用 FTP 下载备份数据

如果文件夹数据较大,建议使用 FTP 下载备份数据:

  1. 使用 FTP 客户端连接服务器

    • 使用 FTP 客户端(如 FileZilla)连接到服务器。
  2. 下载备份数据

    • 导航到包含备份数据的目录。
    • 选择需要备份的数据文件,逐个下载到本地计算机。

总结

  1. 调整帝国CMS 后台参数

    • 将“每组备份(刷新)数”改小一些。
  2. 修改 php.ini 文件

    • 将 max_execution_time 参数值改大一些。
    • 重启 PHP 服务。
  3. 使用 FTP 下载备份数据

    • 如果数据量较大,逐个下载备份文件。

通过以上方法,可以有效解决帝国CMS 中因脚本执行时间超限导致的错误。如果问题仍然存在,建议进一步检查服务器资源和负载情况。

当帝国CMS的 ecms_news_index 表损坏或丢失时,可以通过以下步骤重建数据索引表。这些操作需要在数据库中执行,请确保在执行前备份所有相关数据。

重建 ecms_news_index 表

步骤 1: 创建临时表 ecms_newstemp

sql
 
CREATE TABLE [!db.pre!]ecms_newstemp AS (
SELECT id, classid, newstime, truetime, lastdotime, havehtml
FROM [!db.pre!]ecms_news
);

步骤 2: 添加 checked 字段

sql
 
ALTER TABLE `[!db.pre!]ecms_newstemp`
ADD COLUMN `checked` tinyint(1) NOT NULL DEFAULT 0 AFTER `classid`;

步骤 3: 添加主键

sql
 
ALTER TABLE `[!db.pre!]ecms_newstemp`
ADD PRIMARY KEY (`id`);

步骤 4: 重命名旧表并创建新表

sql
 
ALTER TABLE [!db.pre!]ecms_news_index RENAME TO [!db.pre!]ecms_news_indexbak;
ALTER TABLE [!db.pre!]ecms_newstemp RENAME TO [!db.pre!]ecms_news_index;

步骤 5: 调整 id 字段为自增

sql
 
ALTER TABLE `[!db.pre!]ecms_news_index`
CHANGE `id` `id` INT(10) NOT NULL AUTO_INCREMENT;

步骤 6: 添加索引

sql
 
ALTER TABLE `[!db.pre!]ecms_news_index`
ADD INDEX(`classid`);

ALTER TABLE `[!db.pre!]ecms_news_index`
ADD INDEX(`checked`);

ALTER TABLE `[!db.pre!]ecms_news_index`
ADD INDEX(`newstime`);

ALTER TABLE `[!db.pre!]ecms_news_index`
ADD INDEX(`truetime`);

步骤 7: 更新 checked 字段

sql
 
UPDATE [!db.pre!]ecms_news_index
SET checked = 1;

注意事项

  1. 备份数据

    • 在执行上述 SQL 语句之前,请确保备份所有相关数据,以防意外情况。
  2. 逐步执行

    • 建议逐步执行每一步,以便在出现问题时可以及时发现并修复。
  3. 检查表结构

    • 确认 ecms_news 表的字段与 ecms_news_index 表的字段一致,以确保数据正确导入。
  4. 测试验证

    • 重建完成后,建议在测试环境中验证数据是否完整且正确。
  1. 忘记账号

    • 在 phome_enewsuser 表中查看 username 字段的内容。
  2. 忘记密码

    • 在 phome_enewsuser 表中修改 password 字段为 "322d3fef02fc39251436cb4522d29a71"
    • 修改 salt 字段为 "abc"
  3. 忘记认证码

    • 在 e/class/config.php 文件中将 $do_loginauth 设置为 0
  4. 忘记安全答案

    • 在 phome_enewsuseradd 表中修改 equestion 字段为 0
    • 修改 eanswer 字段为空。

通过这些步骤,你可以成功恢复帝国CMS后台的登录信息。如果还有其他问题,建议检查数据库中的相关表和其他配置文件。

当你忘记帝国CMS后台的管理员账号、密码、认证码或安全答案时,可以按照以下步骤进行恢复:

忘记后台管理员账号

  1. 查看账号
    • 使用 phpMyAdmin 登录数据库。
    • 寻找 phome_enewsuser 表。
    • 查看 username 字段的内容,这将是你的管理员账号。

忘记后台登录密码

  1. 修改密码
    • 使用 phpMyAdmin 登录数据库。
    • 寻找 phome_enewsuser 表。
    • 修改 password 字段的内容为 "322d3fef02fc39251436cb4522d29a71"
    • 修改 salt 字段的内容为 "abc"
    • 保存更改并退出 phpMyAdmin。
    • 此时密码将变为 123456

忘记后台登录认证码

  1. 查看认证码设置

    • 打开网站根目录下的 e/class/config.php 文件。
    • 查看 $do_loginauth 变量的内容。
    • 如果 $do_loginauth 设置为 1,表示开启了认证码功能。
    • 如果忘记了认证码,可以将其设置为 0 来禁用认证码功能。
    php
     
    $do_loginauth = 0;

忘记后台登录安全答案

  1. 修改安全答案
    • 使用 phpMyAdmin 登录数据库。
    • 寻找 phome_enewsuseradd 表。
    • 修改 equestion 字段的内容为 0
    • 修改 eanswer 字段的内容为空。
    • 保存更改并退出 phpMyAdmin。
    • 此时登录时将不再需要安全答案,可以在登录后重新设置安全答案。
Page 749 of 1049:« First« 746 747 748 749 750 751 752 »Last »
bottom-img