透明 发表于 2015-1-16 22:35:43

ASP网站制作之用一套论坛程序架设多个论坛

缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。凑合抠门的空间服务商,之前人人想到了用链接数据表的办法寄存更年夜的数据库。如今再给人人报告另外一个办法:用一个论坛的代码运转两个论坛程序。如许能够绕开那些以服务器CPU占用率过年夜为来由,不准在一个空间架设两套论坛程序的空间服务划定。  1、筹办数据库
  网上支流的ASP论坛程序(比方动网论坛6.1)多数是以Access数据库为基本的。论坛的全体帖子、用户信息、论坛设置等等都寄存在一个数据库文件中。我们必要筹办两个论坛数据库文件,然后让论坛程序依据分歧的前提翻开分歧的数据库文件。
  将当地机的论坛上传到服务器,然后筹办两个数据库分离定名为bbs1.mdb和bbs2.mdb(为了包管论坛的平安,文件名能够改得庞大一些),并上传到服务器的/abc/bbs/data/目次下。数据库既可使用已有论坛的,也能够用论坛的初始数据库。
  2、判断前提
  用作判断进进论坛的前提有良多,好比来访者的IP地点、操纵体系、会见论坛的工夫等。这里笔者用的是来访者提交的URL地点。
  一个论坛有大概呈现两个分歧的地点,比方“www.cpcw.com”和“WWW.CPCW.COM”,两个网址固然都指向电脑报网站,但在VbScript看来它们是两个分歧的ASCII字符串,由于巨细写字母被认作分歧的字符。以是,巨细写分歧的两个地点能够做判断的前提。
  Request.ServerVariables是猎取情况变量的ASP内置工具。用代码Request.ServerVariables("SCRIPT_NAME")的值就是以后实行的ASP页面的路径。比方,会见http://www.scat.com/aBc/test.asp(注重巨细写!)时,Request.ServerVariables("SCRIPT_NAME")的值就是:“/aBc/test.asp”。
  我们划定两个论坛的地点分离为http://www.scat.com/ABC/bbs和http://www.scat.com/abc/bbs。实在能够用这类办法翻开两个以上的论坛,由于从分列组合的角度来看,长度为n的一个URL的巨细写组合能够有2的n次方种!
  3、修正论坛程序
  如今年夜多半的ASP论坛程序为了编程便利,开启数据库工具的代码都被自力出来放在conn.asp中,其他页面都经由过程援用这个文件来会见数据库。如许为我们接上去的操纵供应了便利。
  用文本编纂器翻开conn.asp,找到以下代码:
  DimDb
  收费用户第一次利用请修正本处数据库地点......
  DB="datadvbbs6.mdb"
  程序界说了Db这个变量,数据库的绝对地点被赋给了这个字符串变量。稍后程序翻开数据库工具的时分会用到这个变量的值。
  我们把这几行改成:
  DimDb
  DimWhichbbs
  Whichbbs=Request.ServerVariables("SCRIPT_NAME")
  ifleft(Whichbbs,4)="/ABC"then利用取左函数截取必要长度的字符串举行考证
  Db="/data/bbs1.mdb"
  else
  Db="/data/bbs2.mdb"
  endif
  这段代码的意义就是,将会见者提交的地点赋值到Whichbbs这个变量中。因为会见者在论坛中举动时,URL地点的后半段是变更的,以是只用Whichbbs的前4位与“/ABC”这个字符串做对照。假如两字符串不异,就给Db赋值"/data/bbs1.mdb";不然Db被赋值"/data/bbs2.mdb"。然后将会翻开Db对应的数据库。会见者提交的地点假如是http://asp2.6to23.com/ABC,则论坛体系翻开bbs1.mdb的数据库,让会见者进进bbs1.mdb中的论坛;不然翻开bbs2.mdb,进进bbs2.mdb中的论坛。
  如许,你就能够在一个空间中架设不止一个论坛了,而服务器的资本占用又比独自架设两套自力的论坛体系的办法小良多。
  这个办法还能够推行开来:
  1.使用到其他触及到数据库操纵的ASP程序上,好比旧事体系、下载体系、留言板、计数器等等。
  2.用会见者IP地点做判断前提(Request.ServerVariables("REMOTE_ADDR")),做成变相的、更潜伏的IP过滤,让不受接待的人不知不觉地被断绝在真实的论坛以外。
  3.依据本人的必要,用其他信息作判断前提,打造你富有本性、多姿多彩的论坛。
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。

分手快乐 发表于 2015-1-19 17:58:14

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

小魔女 发表于 2015-1-24 17:41:49

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

只想知道 发表于 2015-2-7 19:09:43

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

金色的骷髅 发表于 2015-2-23 01:11:05

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

乐观 发表于 2015-3-7 05:24:41

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

深爱那片海 发表于 2015-3-14 12:32:24

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

蒙在股里 发表于 2015-3-21 08:05:46

不能只是将它停留在纸上谈兵的程度上。
页: [1]
查看完整版本: ASP网站制作之用一套论坛程序架设多个论坛