ChatGPT批量写原创文章软件

discuz怎么反回的简单介绍

如何编写Discuz论坛返回JSON数据的接口?php header('Content-type:text/json;charset=utf-8');define('APPTYPEID', 5);define('CURSCRIPT', 'userapp');require_once './sourc

本文目录一览:

  • 1、如何编写Discuz论坛返回JSON数据的接口
  • 2、dz删除tag如何返回404
  • 3、discuz中的ajaxget函数怎么获取从插件返回的值
  • 4、discuz 模板安装提示:"数据类型错误,请返回",怎么解决?

如何编写Discuz论坛返回JSON数据的接口

?php header('Content-type:text/json;charset=utf-8');

define('APPTYPEID', 5);

define('CURSCRIPT', 'userapp');

require_once './source/class/class_core.php';

$discuz = discuz_core::instance();

$discuz - cachelist = $cachelist;

$discuz - init();

try {

if ($_GET["type"] == "wdnew") {

$query = DB::query("SELECT * FROM " . DB::table('forum_thread') . " WHERE fid=49 ORDER BY dateline ASC limit 10");

$jsonstr = "{state:10000,data:[";

while ($soft = DB::fetch($query)) {

$newlist .= "{\"id\":" . $soft['tid'] . ",\"title\":\"" . $soft['subject'] . "\"},";

}

$jsonstr = $jsonstr . rtrim($newlist, ',') . "]}";

echo $jsonstr;

} else if ($_GET["type"] == "getForumClass") {

$query = DB::query("SELECT * FROM " . DB::table('forum_forum') . " WHERE status=1 ORDER BY fid ASC");

$jsonstr = "{state:10000,data:[";

while ($soft = DB::fetch($query)) {

$newlist .= "{\"id\":" . $soft['fid'] . ",\"fup\":" . $soft['fup'] . ",\"name\":\"" . $soft['name'] . "\",\"px\":" . $soft['displayorder'] . "},";

}

$jsonstr = $jsonstr . rtrim($newlist, ',') . "]}";

echo $jsonstr;

} else if ($_GET["type"] == "getForumInfo") {

$fid = $_GET["fid"];

$dateline_min = $_GET["dateline_min"];

$dateline_max = $_GET["dateline_max"];

$datacount = DB::result_first("SELECT COUNT(*) FROM " . DB::table('forum_thread') . " WHERE fid=".$fid." and closed=0 and dateline=".$dateline_min." and dateline=".$dateline_max);

if($datacount==0){

$jsonstr = "{state:10001,data:[]}";

}else{

$query = DB::query("SELECT * FROM " . DB::table('forum_thread') . " WHERE fid=".$fid." and closed=0 and dateline=".$dateline_min." and dateline=".$dateline_max);

$jsonstr = "{state:10000,data:[";

while ($soft = DB::fetch($query)) {

$typename = DB::result_first("SELECT name FROM " . DB::table('forum_threadclass') . " WHERE typeid=".$soft['typeid'] );

$newlist .= "{\"id\":" . $soft['tid'] . ",\"title\":\"[".$typename."]" . $soft['subject'] . "\",\"price\":\"" . $soft['price'] . "\",\"views\":\"" . $soft['views'] . "\",\"dateline\":\"" . $soft['dateline'] . "\"},";

}

$jsonstr = $jsonstr . rtrim($newlist, ',') . "]}";

}

echo $jsonstr;

}else {

echo "{state:0,data:[]}";

}

} catch(Exception $e) {

echo "{state:0,data:[]}";

}

?

discuz怎么反回的简单介绍 第1张

dz删除tag如何返回404

discuz帖子被删除后,再打开会提示“帖子被删除或者在审核”,这样设置后会把这个页面直接跳转到404页面。

步骤一:查找source\module\forum\forum_viewthread.php

搜索这个代码

showmessage('thread_nonexistence');

步骤二:如果你的主机是win系统,把上面的代码替换为

header('HTTP/1.1 404 Not Found');

header('status: 404 Not Found');

include('404.html');

exit();

如果你的主机是linux系统,把上面的代码替换为

header('HTTP/1.1 404 Not Found');

header('status: 404 Not Found');

exit();

这样就会跳转到你设置好的404页面了

discuz中的ajaxget函数怎么获取从插件返回的值

插件的内容可以通过plugin.php这个文件返回,ajax要和后台的文件一起使用的,在新插件内核中,通过 plugin.php 方式访问的插件可直接通过 plugin.php?id=xxx:yyy 方式调用而无需再在后台定义为普通脚本模块,只要 source/plugin/xxx/yyy.inc.php 文件存在即可。如果 xxx 和 yyy 同名,可直接通过 plugin.php?id=xxx 方式访问。如果是utf8编可以直接输出中文,如果是gbk不是用json_encode编码一下。。另外,如果你想为自己的论坛短时间内发布大量优质内容,看上去人气旺,内容好,可以在应用中心搜索“dn123”获取采集插件。

discuz 模板安装提示:"数据类型错误,请返回",怎么解决?

很多同学在安装discuz插件、Discuz模板或disucz分类信息的时候会出现数据类型错误,请返回的问题,下面我们来分析下为什么Discuz! X会出现“数据类型错误,请返回”的错误。

分析原理:我们今天用安装模板提示“数据类型错误,请返回”的错误来分析,打开导入风格模板的代码文件:/source/function/function_importdata.php,查看其中的函数 import_styles(),其中两处调用getimportdata的参数都是固定的getimportdata('Discuz! Style'),在/source/function/function_admincp.php中找到getimportdata函数发现他会将第一个参数也就是'Discuz! Style',与模板目录下xml文件中id为Title的item值进行比较,如果不同就会提示错误“数据类型错误,请返回”,知道原理了,下面就有解决方案了。

1、打开模板目录下的 XML 文件,找到ID为Title的item项,将其固定为如下写法就OK了。

item id="Title"![CDATA[Discuz! Style]]/item

复制代码

2、一些网站在搬家后出现“数据类型错误,请返回”,很可能是服务器上PHP.INI 的 zend.ze1_compatibility_mode问题,把值修改为 OFF。

可上传一个test.php 里面写?php echo ini_get(‘zend.ze1_compatibility_mode’);?,输出0来判断配置是否正确。

解决方法:查找 php.ini 里的如下项并将其设置为off,然后重启 Web 服务 (IIS或Apache)

zend.ze1_compatibility_mode = Off

复制代码

3、目录权限存在问题,在应用中心安装插件或模板都需要对应目录有可写权限的,否则安装一样会出错无法识别数据错误。

解决方法:检查data目录权限及template和source\plugin目录权限为777或可读可写。

这样基本可以解决问题。

参考文档

相关文章