今天给各位分享discuzc::的知识,其中也会对discuz创始人进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、discuz 怎么去除需要登录才能 发表态
- 2、为什么我的浏览器一进入discuz!的论坛一登录上去浏览器就会提示没有响应?
- 3、discuz教程:插件开发经验之如何运用 C::t 方法
- 4、如何搭建论坛
- 5、discuz X3.1 中C ::m 是什么
- 6、本地安装discuz的时候出现了这
1、discuz 怎么去除需要登录才能 发表态
一、使用FTP工具下载网站的source\module\home\home_spacecp.php文件
二、使用dreamweaver打开这个文件并选择代码模式
三、使用编辑-查找和替换,搜索下面两段代码并删除
1、
if(empty($_G['uid'])) {
if($_SERVER['REQUEST_METHOD'] == 'GET') {
dsetcookie('_refer', rawurlencode($_SERVER['REQUEST_URI']));
} else {
dsetcookie('_refer', rawurlencode('home.php?mod=spacecpac='.$ac));
}
showmessage('to_login', '', array(), array('showmsg' = true, 'login' = 1));
}
2、
if(empty($space)) {
showmessage('space_does_not_exist');
}
四,同样的方法下载/source/include/spacecp/spacecp_click.php
五、删除以下两段代码
1、
if(!checkperm('allowclick') || $_GET['hash'] != $hash) {
showmessage('no_privilege_click');
}
2、
if(C::t('home_clickuser')-count_by_uid_id_idtype($space[uid], $id, $idtype)) {
showmessage('click_have');
}
这时候无需登录就可以表态,如下图
2、为什么我的浏览器一进入discuz!的论坛一登录上去浏览器就会提示没有响应?
discuz一般是PHP的,因为系统的PHP解析器启动的时候和你的IE的某个插件冲突,但是停止响应,关掉你IE所有的插件,试试,如果可以就逐个打开插件浏览discuz论坛,等到打开哪个插件的时候再出现这个问题就是那个插件冲突的
3、discuz教程:插件开发经验之如何运用 C::t 方法
抽点时间讲解一下C::t方法的简单使用。
一、C::t方法的好处:一是对象清楚,二是对形参格式化处理,三是可集中SQL语句,利于维护,四是安全性更高。
二、具体用法,看下面的例子
假设有一个名为test的插件,其中关于名为tbname的数据表操作的SQL
旧式写法
a.inc.php
?php
……
$query = DB::query('select * from '.DB::table('tbname').' where id='.$id);
while($v = DB::fetch($query)){
……
}
……
?
改造为C::t如下
a.inc.php
?php
……
$query = C::t('#test#tbname')-fetch_all($id);
foreach($query as $key = $value){
或者将上面的两行变为一行,以减少行数,如下
foreach(C::t('#test#tbname')-fetch_all($id) as $key = $value){
……
}
……
?
再新建一个文件夹名为table,放在插件根目录下,在table中创建一个名为table_tbname.php的类文件(详见技术文库的相关说明),该文件的代码框架如下
table_tbname.php
?php
if (!defined('IN_DISCUZ')) {
exit('Aecsse Denied');
}
class table_tbname extends discuz_table{
public function __construct() {
$this-_table = 'tbname';
$this-_pk = 'id';
parent::__construct();
}
/*------------在此处构造N多的自定义函数,本例中自定义的函数如下-------------*/
public function fetch_all($id){
return DB::fetch_all('select * from %t where id=%d',array($this-_table,$id));
}
}
?
C::t的运用有很多变化,但万变不离其宗,基本骨架就是上面的样子。
注意:
1、自定义函数中有一个同名函数名fetch_all,虽然名字相同,但内涵不同。本例比较特殊,实际自定义函数名称你可以随便起,例如public
function
ldsjglfdjs($id),不一定非要像技术文库要求那样规则命名,当然,规则命名更易于辨认理解维护
2、SQL中应当用格式化语句书写,以保障安全性,其中的%t代表了对数据表名的格式化,%d代表了对%id的格式化,其中的含义请查询技术文库"源DB类的改进",以了解掌握都有哪些格式符及其意义并加以运用。这里要特别注意%s和%i的区别,涉及安全处理问题
3、虽然不是必须,但我仍建议并强调,以数组形参的形式作为DB层封装函数的第二参数(如果该函数有此参数的话),例如上例中的
DB::fetch_all(SQL,array(第一形参,第二形参,...)),某些DB层封装的函数对于有无$arg这个数组参数有着不同的执行过
程,将会影响对该参数中的变量是否进行安全过滤的行为
4、SQL中的格式符一定要和数组形参中的变量一一对应,不能颠倒
5、不提倡旧式的SQL写法,如DB::fetch_all('select
*
from
'.DB::table('tbname').'
where
id='.$id),原因见上面的3
6、虽然不是必须,但C::t方法中自定义函数内最好不要使用诸如$_GET、$_POST之类的全局变量,应在C::t之前赋值后传入,否则,例如在DB::query中使用,如不进行过滤,其安全性将难以保障
7、大多数被DB封装的常用数据库操作函数,其参数都将被做安全处理,因此要注意,虽然不是必须避免重复过滤,但应考虑执行效率问题。
8、注意注意再注意,由于大多数被DB封装的常用数据库操作函数都要调用内部query函数,相当于在外部直接使用DB::query,而该函数有个特例情况,就是上面3所说,因此特别要考虑有无数组形参,进而加固安全性
9、尽量将SQL集中放在C::t方法的类文件中,避免在应用层等其他文件中使用SQL,这样能使对象更清晰规范方便维护
官方在source/class/table中已经内置了很多C::t方法,假设在插件设计时所用的方法是官方所没有的,而官方已创建了一个同名类文件,
这时怎么办?那就按上面例子所示,自己创建一个同名类文件就行了,但应用层一定要用C::t('#插件标识符#不带前缀的表名')来调用,而不是
C::t('不带前缀的表名')这种方式
闲暇之余多看看source/class/discuz中的discuz_database.php和dizcuz_table.php这两个重要文件,烂熟其中被DB封装的常用函数的执行原理和机制,对自如运用C::t和加强安全认识有好处
小编极力推荐:
网页制作编辑器大全
4、如何搭建论坛
论坛是BBS的一种形式,在论坛里,人们之间的交流打破了空间、时间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌,健康状况,而这些条件往往是人们在其他交流形式中无可回避的。而这些论坛是如何架设的呢?那么今天我们就来看一下目前网络上流行的三种格式论坛在Windows 2000 Server下的架设方法吧。
目前网络上流行的三种格式论坛分别是:ASP论坛、CGI论坛和PHP论坛。我们从中挑选出他们的代表性论坛学习架设,ASP-动网论坛、CGI-雷傲论坛、PHP-Discuz!论坛。
首先配置动态域名解析:登陆注册网域护照,在护照底下申请域名(网域科技提供了免费域名注册),激活域名对应的花生壳服务,下载安装花生壳客户端,在局域网内PC或服务器主机上安装花生壳客户端登陆在线。
我们先来看一下ASP的动网论坛架设方法,动网论坛的架设方法相对来说比较简单一些。首先,服务器要安装IIS服务,然后在硬盘上建立一个文件夹名字为Web,路径为D盘,然后打开控制面板-管理工具-Internet服务管理器,新建一个Web站点,IP地址分配为您本机的IP,默认端口80不变。
下一步出现输入Web主目录的提示,这里就输入您刚才建立的那个文件夹的绝对路径或者是直接使用浏览来指定。最后出现权限设置对话窗口,为了后面要架设的论坛,这里我们把“执行(例如ISAPI应用程序或CGI)”的权限也选择上,点击下一步,完成。
到现在为止,您D盘下的Web文件夹就是你Web服务的主目录了,这里就可以放置你要发布的主页了。然后到下载动网论坛7.0Sp2的程序,解压缩后把里面所有的内容都复制到D:\web目录下,然后打开IE浏览器,输入http://您的IP/index.asp,比如我的本机IP为192.168.0.244,这样我就输入。如果出现一下画面,说明我们安装成功了。
动网论坛的默认管理员账号是:admin密码是:admin888,使用这个账号登陆就会看到管理的连接,点击管理连接使用默认管理员账号和密码进入后台管理,在这里您就可以设置您的论坛了,关于论坛的设置这里就不多讲了。
接下来看一下CGI的雷傲论坛架设方法,到下载LeoBBSX 040926 正式版程序。解压缩后把文件夹cgi-bin和non-cgi复制到你所建的Web主目录(d:\web)中,要架设CGI论坛首先要求服务器支持Perl解析,而IIS并不支持Perl解析,所以我们要安装Perl解析,我所使用的是ActivePerl V5.8.4.810 For Windows。因为雷傲论坛的解析路径是#!/usr/bin/perl(用记事本打开雷傲论坛的代码第一行就是),所以安装解析的时候要注意安装在USR路径。
然后点击 “OK” 一直 “next” 安装就行了,可能到最后的安装时间很长。下面我们就要设置其他项目了,点击 “开始”- “运行” 输入regedit启动注册表编辑器。寻找HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services
\W3svc\Parameters\ScriptMap\ 目录项,在此项中添加如下字串值:
键名 ".cgi" 键值 "C:\USR\BIN\perl.exe %s %s"
键名 ".pl" 键值 "C:\USR\BIN\perl.exe %s %s"
然后打开控制面板-管理工具-Internet服务管理器,右击你刚才创建的Web站点,选择 “属性” 就会出现XXX属性,点击 “主目录” 在下面有个 “配置”,点击进入 “应用程序配置” 窗口,点击 “添加”,在 “可执行文件” 输入C:\usr\bin\perl.exe %s %s,在 “扩展名” 输入.cgi脚本引擎打上钩,点确定即可。
点击 “ISAPI筛选器”-“添加”,在 “筛选器名称” 处输入cgi 在 “可执行文件” 处输入C:\usr\bin\PerlIS.dll然后点击确定。
关闭所有窗口重新启动机器,启动完毕后,打开浏览器,输入http://您的IP/cgi-bin/install.cgi就会出现LeoBBSX安装向导,沿着安装向导进行初始设置。
设置完毕后会直接进入论坛管理后台,然后设置论坛就可以了,这里也不多讲了。
最后我们看一下PHP的Discuz!论坛架设方法,架设Discuz!论坛不但需要服务器支持PHP而且需要MYSQL数据库的支持。
MYSQL-4.0.21-win
下载地址:
php-4.3.9-Win32
下载地址:
将MYSQL-4.0.21-win.zip解压缩,然后运行setup。选择安装路径,比如我安到了C:\mysql。安装方默认就可以。一路狂点next,整个安装过程大概也就2、3分种。MySql装好了,下面就是配置了,在C盘根目录下建立一个文件my.cnf的文本文件,内容如下:
[mysql]
basedir = d:/mysql/
其中basedir是你安装MySql的路径。安装完毕后点击 “开始”- “运行”输入命令C:\mysql\bin\mysqld-nt.exe –install,然后重新启动计算机。打开C:\mysql\bin\winmysqladmin.exe在第一次用它时,需要建立管理员名及密码,分别设置用户名和密码,设定后,系统托盘会出现一个“红绿灯”的小图标(以后系统启动时均会自动加载),这样MySql就安装完成了。下面就要安装PHP解析了,将压缩包解压缩到C:\php文件夹中,把C:\php\Php4ts.dll复制到C:\WINNT\SYSTEM32目录下,将php.ini-dist改名为php.ini双击打开此文件,找到extension_dir这句修改为extension_dir= “c:/php/extensions” 然后复制php.ini到C:\WINNT目录下,点击开始-运行输入regedit启动注册表编辑器寻找:
HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services
\W3svc\Parameters\ScriptMap\ 目录项。
在此项中添加如下字串值:
键名 ".PHP" 键值 "C:\php\php.exe %s %s"
然后打开控制面板-管理工具-Internet服务管理器,右击你刚才创建的Web站点,选择 “属性” 就会出现XXX属性,点击 “主目录” 在下面有个 “配置”,点击进入 “应用程序配置” 窗口,点击 “添加”,在 “可执行文件” 输入C:\php\sapi\php4isapi.dll在 “扩展名” 输入.php脚本引擎打上钩,点确定即可。
点击 “ISAPI筛选器”-“添加”,在 “筛选器名称” 处输入php 在 “可执行文件” 处输入C:\php\sapi\php4isapi.dll然后点击确定,可以关闭属性窗口了。
最后重新启动计算机,启动完毕后服务器就支持PHP+MYSQL了。在Web(D:\web)主目录下建立一个文件info.php,内容如下:
?php
phpinfo();
?
然后在浏览器中输入http://您的IP/info.php,关于服务器的详细信息都显示了出来。
解压缩后把Discuz!文件夹改名为BBS复制到你所建的Web主目录(web)中,打开浏览器输入http://您的IP/bbs/install.php就会出现Discuz!论坛的安装向导。
选择完全同意,然后出现选择数据库的选项。
因为是演示所以我们就不建立新的数据库了,Mysql安装后自带2个数据库mysql和test,这里我使用test数据库,如果大家要建立论坛使用的话,务必建立新的数据库,并且设置数据库的用户名和密码。
下一步会让你建立一个管理员账号和密码,建立完毕后就开始安装了。
如果出现一下字样,刷新一边就可以。
Cache List: settings index style_ usergroup_1
Caches successfully created, please refresh.
现在看看,论坛的模样是不是很漂亮?使用你建立的管理员账户登陆,就可以看到有系统设置的字样,进入后就是论坛后台设置了,这里也不多说了,按照自己的喜好建立论坛吧。
最后说一下以上架设服务器要注意的问题:
1.如果Windows 2000 Server使用的是NTFS分区格式,可能会出现错误,这是因为没有写入权限,只要把Web文件夹安全属性中的Everyone用户给予完全控制权限就可以。
2.安装完毕IIS以后,先停止IIS服务,然后删除IIS的默认安装目录C:\Inetpub,因为微软默认安装的漏洞实在是太多太多,另外建立其他WEB目录。
3.MYSQL也可以结合MYSQL ODBC数据源进行数据库的建立,需要安装MYSQL ODBC。
4.PHP.ini有很多模块可以打开,结合MYSQL和其他PHP语言选择性开放,毕竟服务器安全是重要的。
这样三种格式的论坛架设完毕了,您的服务器也变成了IIS+CGI+PHP+Mysql了,再提醒一句:注意服务器的安全问题!
相关名词解释:
BBS——Bulletin Board Service(公告牌服务),是Internet上的一种电于信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
ASP——ASP即Active Server Page(活动服务器页面)的缩写,是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。
CGI——CGI即common gate intergace(通用网关接口)的缩写,它是一段程序,运行在服务器上,提供同客户端HTML页面的接口。通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器,再把服务器执行的结果返还给HTML页。
PHP——PHP(PHP Hypertext Preprocessor,最初称为"Personal Home Page Tools",也称为"Professional Homepages",或者"Pre-Hypertext Processor"),是一种服务器端HTML-嵌入式脚本描述语言。
IIS----IIS是Internet Information Server的缩写,微软公司的Web服务器。
5、discuz X3.1 中C ::m 是什么
系统采用mvc框架设计这种格式的一般都是数据调用和数据库方面有关的代码
6、本地安装discuz的时候出现了这
[Discuz!] (C)2001-2099 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: config_global_default.php 34020 2013-09-22 05:48:16Z nemohou $
这几行删掉
关于discuzc::和discuz创始人的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。