欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求问discuz帖子写入数据库文件

程序员文章站 2022-06-13 21:43:06
...
求问下discuz3.2版本,写入数据库的文件是不是forum_post.php


主要是哪一段?


是不是这一段 ,但看着不像啊:

$extra = !empty($_GET['extra']) ? rawurlencode($_GET['extra']) : '';$notifycheck = empty($emailnotify) ? '' : 'checked="checked"';$stickcheck = empty($sticktopic) ? '' : 'checked="checked"';$digestcheck = empty($addtodigest) ? '' : 'checked="checked"';$subject = isset($_GET['subject']) ? dhtmlspecialchars(censor(trim($_GET['subject']))) : '';$subject = !empty($subject) ? str_replace("\t", ' ', $subject) : $subject;$message = isset($_GET['message']) ? censor($_GET['message']) : '';$polloptions = isset($polloptions) ? censor(trim($polloptions)) : '';$readperm = isset($_GET['readperm']) ? intval($_GET['readperm']) : 0;$price = isset($_GET['price']) ? intval($_GET['price']) : 0;


回复讨论(解决方案)

/*以发表主题为例1、点击发表,进入到\source\module\forum\forum_post.php,进行插入前的操作,如审核2、在345行左右,有一句:require_once libfile('post/newthread', 'include');进入发表主题的处理页面(\source\include\post\post_newthread.php)3、在409行左右,有一句:$tid = C::t('forum_thread')->insert($newthread, true);$newthread就是要插入的主题数据,就在这句上面4、在571行左右,有一句:$pid = insertpost(array(这是插入主题的详细信息*/

为了点积分 头像换了居然说未完成

/*以发表主题为例1、点击发表,进入到\source\module\forum\forum_post.php,进行插入前的操作,如审核2、在345行左右,有一句:require_once libfile('post/newthread', 'include');进入发表主题的处理页面(\source\include\post\post_newthread.php)3、在409行左右,有一句:$tid = C::t('forum_thread')->insert($newthread, true);$newthread就是要插入的主题数据,就在这句上面4、在571行左右,有一句:$pid = insertpost(array(这是插入主题的详细信息*/
额,我用的是3.2版本的 在这个文件并没有你说得这个。可能又移动到什么地方去了。

2、在345行左右,有一句:require_once libfile('post/newthread', 'include');
进入发表主题的处理页面(\source\include\post\post_newthread.php)

这一步,是有的,但是到了第三步source\include\post\post_newthread.php就断了。这个文件应该已经改动,查找下libfile,也没有找到相关操作。

我去找了下2.5版的,确实在409行有这个。

但3.2版本就没有了,麻烦老大指点迷津。

X3.2变化貌似挺大的
还是在\source\include\post\post_newthread.php
下面一句就是插入
$return = $modthread->newthread($params);

X3.2变化貌似挺大的
还是在\source\include\post\post_newthread.php
下面一句就是插入
$return = $modthread->newthread($params);



我原先也认为是这个,但怎么也获取不了值。

我再forum_thread表新增一个about字段。在mod程序的forum_post.php获取$about= getgpc('about');

然后再post_newthread.php 获取:$params['about']=$about

结果数据库字段没有得到值。求问怎么处理?

那要看你是否真的获取到了,用
file_put_contents('/home/wwwroot/default/log.txt',var_export($_REQUEST,true).PHP_EOL,FILE_APPEND);
打印到一个文件,打开看一下

那要看你是否真的获取到了,用
file_put_contents('/home/wwwroot/default/log.txt',var_export($_REQUEST,true).PHP_EOL,FILE_APPEND);
打印到一个文件,打开看一下


主要是不知道这个写法对不对啊

在 source\class\model 目录下的两个文件里面

/*以发表主题为例1、点击发表,进入到\source\module\forum\forum_post.php,进行插入前的操作,如审核2、在345行左右,有一句:require_once libfile('post/newthread', 'include');进入发表主题的处理页面(\source\include\post\post_newthread.php)3、在409行左右,有一句:$tid = C::t('forum_thread')->insert($newthread, true);$newthread就是要插入的主题数据,就在这句上面4、在571行左右,有一句:$pid = insertpost(array(这是插入主题的详细信息*/


给分给错了,请到http://bbs.csdn.net/topics/390962647领取分数。