文章系统中“上篇、下篇”效果的制作

以前曾经参考过一个网站的源码,是使用ID+1和ID-1的办法来判断上下篇的。在实际使用过程中,发现一个问题:当删除数据库中的一篇文章时,就会造成ID不连续,如果用ID+1和ID-1来判断就会出现找不到记录。所以程序并不是非常的完美。
  在我们所介绍的ASP代码中,是通过查询大于当前ID的第一条记录来找出下一篇的ID,查询小于当前ID的第一条记录来找出上一篇的ID,这样就算ID不连续也可以正常显示了。(程序代码也是参阅过经典论坛相关贴子提示所制作的)
查看全文 »

个人对ASP中的split的简单理解。

大家有没有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。
例如我想取得一个ftp里的用户名及密码(服务器等)值(用IE当FTP时或从表中取出FTP的值)。
下面是我的解决思路:
设url为收到的URL值,这里指:

  1. url=ftp://username:password@server,

请注意这句话的规律
我想大家都看清楚这个URL里的规律了吧,就是各个部分都被”:”给区分成三个部分,即:ftp、//username、password@server
首先将这个URL的各个部分区分开来,用split(url, “:”)
以下是具体的代码:

  1. parts = split(url, ":") '此时parts就有三部分,parts(0)=ftp,parts(1)=//username,parts(2)=password@server'接下来剔除没有用到的信息'由于只取username,所以其中parts(0)跟parts(2)是无用的,直接不引用!newname=replace(parts(1), "//", "") '去除//符号,因为这不是username里的内容'此时的newname既为用户名。

以上是只取用户名的代码,如果你要再取密码的话,可以参考下面。

由于用户名是属于parts(2)里的,而且包含服务器的信息,如果不取服务器,则:newpass = left(parts(2), instr(parts(2),”@”)-1) ‘取值到@之前的位数。此时的newpass取为密码

以上代码为不取服务器地址的代码,如果有取服务器的话,其实也是很简单的

  1. newparts=split(parts(2),"@") '此时newparts分成两部分:newparts(0)为密码,即password;newparts(1)则为服务器地址,即server'如果要输出密码的的话,直接response.write newparts(0)就可以了,服务器就newparts(1)

后话,对于要取一字符串中的某些字符或部分,只要抓住规律,再加上用split就可以很好做成各种效果。写此文,希望对大家的学习有所帮助,同时也希望大家能够指点一二!

禁止站外提交表单

使用asp尽量减少服务器端的工作量,这样就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样存在安全提交的问题,所以应该要求从服务器断路径提交,其他地址提交提交无无效:

  1. <%
  2. server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
  3. server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
  4. if mid(server_v1,8,len(server_v2))<>server_v2 Then
  5. response.write "<center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>"
  6. response.write "<tr><td style=&apos;font:9pt Verdana&apos;>"
  7. response.write "你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!"
  8. response.write "</td></tr></table></center>"
  9. response.End
  10. end If
  11. %>

Asp防止多个用户同时登陆系统的问题

下午和DW8的兄弟们在群里针对这个问题讨论了很久~!我的思路就是:用户登陆时对application(“pass”)的值进行判断,如果application(“pass”)的值不为空,那么就提示已经有人登陆~否则登陆(说明是第一个登陆的用户)并给application(“pass”)赋一个值,然后加一个在线人数的判断,有在线人数时 application(“pass”)不等于空,没有在线人数时用application.contents.remove(“pass”)来清除application(“pass”)的值.
 
具体application.contents.remove的用户可以参考:http://www.kekecn.com/blog/article.asp?id=637具体方法如下:

  1. <%
  2. '有个online的表记录在线的人员,登陆时判断在线人数~!如果在线人数不为0application("pass")="nopass",在线人数为0的话就对application进行一次清除
  3. if application("pass")="nopass" then
  4.     response.write "系统中已有用户登陆"
  5.     response.end
  6. end if
  7. %>

随后的系统中就得对在线人数进行统计了,如果在线人数为0则用
application.contents.remove(“pass”) 来清除 application(“pass”) 的值.

如何定时运行ASP文件 – blueidea.com

看到觉得蛮实用的,就摘录下来了,原文地址是《如何定时运行ASP文件
————————————————–
在一定的时候,要定时的运行某个ASP文件去执行一个任务,如一个工厂在早上9点钟要采集所有的电表的读数,当然这要通过IN SQL连接到各个电表中,我们现在就是用一个ASP文件把IN SQL中表的读数再集中到MS SQL中。
 
可能你看到的定时运行ASP文件的方法有多种,不过我现在要说的是一种简单的方法,利用计划任务就可简单的实现。
 
首先,你要写一个js或者vbs文件来调用你所有执行的ASP。下面是js和vbs文件的代码,你可以任选一个,执行效果是一样的。

  1. 'CODE BY 小荷 aston314@sohu.com
  2. 'Create an instance of IE
  3. Dim IE
  4. Set IE = CreateObject("InternetExplorer.Application")
  5.  
  6. '运行你的 URL
  7.  
  8. ie.navigate("http://www.blueidea.com/")
  9. ie.visible=1
  10.  
  11. 'Clean up...
  12. Set IE = Nothing

你可以取任何名称,但后缀名一定要是vbs,在这里我们取名do.vbs。

  1. //CODE BY 小荷 aston314@sohu.com
  2. // Create the HTML message to display.
  3. var html = "";
  4.     html += "<html><head><title>运行窗口</title></head><body>";
  5.         html += "<font face=verdana></font>";
  6.         html += "</body></html>";
  7.  
  8.  
  9. // Create Internet Explorer Object
  10. ie = new ActiveXObject("InternetExplorer.Application");
  11.  
  12. // Define how the window should look
  13. ie.left       = 50;
  14. ie.top        = 50;
  15. ie.height     = 510;
  16. ie.width      = 470;
  17. ie.menubar    = 0;
  18. ie.toolbar    = 0;
  19.  
  20. // Set the browser to a blank page
  21. ie.navigate("http://www.blueidea.com/");
  22.  
  23. // Show the browser
  24. ie.visible=1;
  25.  
  26. // Open a stream and write data.
  27. //ie.document.open;
  28. //ie.document.write( html );
  29. //ie.document.close;

你也可以取任何名称,但后缀名一定要是js,在这里我们取名do.js。

这里不对文件中的代码进行解说。

只要把上面文件中的所有 http://www.blueidea.com/ 换成你要执行的ASP文件的URL地址就可以了。这里是URL地址,而不是绝对地址。

然后打开 WINDOWS 的任务计划,就象选择任何可执行文件一样选择上面一个do.js或者do.vbs文件所在的位置,设定执行时间等,确定就可以了。

然后这个ASP文件就可以被任务计划定时的运行了,简单吧。

就如开头所说的,任务计划就可以在早上9点,执行这个ASP文件,把电表的读数收集到 MS SQL 中了。

无觅相关文章插件,快速提升流量

下一页 »