PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-06-23 13:42:27 1149浏览

求问下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领取分数。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。