农民程序员一周教会你asp第4讲asp

/ / 2016-02-03   阅读:2502
今天是我们跟着农民程序员老张学习asp的第四天了。前三天我们学着写了一个留言本的模型,虽然很简陋,但是能够发布,显示,编辑,删除,基本所有的功能都具备了。今天我们的主要任务是,继续完善这个留言本,增加一...
今天是我们跟着农民程序员老张学习asp的第四天了。前三天我们学着写了一个留言本的模型,虽然很简陋,但是能够发布,显示,编辑,删除,基本所有的功能都具备了。今天我们的主要任务是,继续完善这个留言本,增加一些安全措施和友好的提示,让留言本变得实用起来。

你看,我不小心点了一下留言提交按钮,就提交了一个空的留言,这怎么能行呢,我们要进行安全性的判断。也许有人会用javascript进行客户端判断,但是客户端是根据浏览器执行的,安全性能很低的。(农民告诉你,永远不要相信客户端的东西,他总是骗人的。因为客户端的代码总是展示在外面叫人看的,同时,客户端的代码也是很容易被模仿和更改,具有很大的隐患。做个小实验,如果你把浏览器的Javascript功能关掉,你程序里所有的客户端判断都将失效!)那么,我们就要基于asp这个服务器端语言,在服务器端进行判断。

首先,打开留言本的addsave.asp文件,我们要对addname和title以及content三个字段进行判断。
所谓的判断,就是一个if else函数。如果符合一定的条件,就通过,否则就返回执行一个停止语句。道理就这样简单。

比如,我们判断addname不能为空,一般这样写:
  1. If Trim(Request.Form("addname"))="" Then 
  2.         response.write "姓名不能为空哦!"
  3.         response.End 
  4. End If
复制代码
我来解释一下,trim是一个系统自带的函数,用于去除addname两端的空格,还有一些其他用法,大家可以参考函数手册。Response.end一定要有啊,否则程序就继续往下走,好比,你没吃饭,别人在路上问你,吃了吗,你说没有啊,然后别人继续赶路,你也继续赶路。一定要终止这个程序流程,才能使得它停下来,让用户返回重新填写。
If   then   end if一定要有的,这个一定要切记,经常程序报错,就是因为写if不配对造成的。
同理,我们就可以将title和content进行分别判断,为了避免黑客攻击,还要对危险代码进行替换。

前面说到函数了,我们来讲讲函数。Asp的函数有系统自己带的函数,也有用户定义的函数。系统自带的函数多数是一些常用的规则,比如前面提到的trim,比如系统里的时间函数等等,大家都可以自己去多学习,多记住,多看。最简单的函数例子,我们来研究一下:
新建test.asp文件,输入
  1. <%=len(“我爱追梦阳光,我爱蓝色经典”)%>
复制代码
这个函数就是读取了这句话的长度并显示出来。
然后再写一个:
  1. <%=replace(“我爱追梦阳光,我爱蓝色经典”,”我”,”你”)%>
复制代码
这个函数就是替换函数,把“我”替换成“你”。显示一下,就什么都明白啦。

再来看看自己构造函数吧。我们在写程序的时候,为了使用方便,也为了简化流程,我们都会自己写一些函数,函数的定义方式如下:

  1. Function hanshumingcheng(canshu)
  2. Hanshumingcheng=canshu’函数内容
  3. End function
复制代码
使用的时候,直接套用。比如我们要定义一个简单的替换函数:

  1. <%
  2. Function tihuan(neirong)
  3.         neirong=replace(neirong,"红","<font color=red>红</font>")
  4.         neirong=replace(neirong,"蓝","<font color=blue>蓝</font>")
  5.         tihuan=neirong
  6. End Function
  7. %>
复制代码
输出试验一下
  1. <%=tihuan("红黄绿蓝紫")%>
复制代码
除了函数,还有过程,在ASP中,过程跟函数类似(这里必须说明一下,这种概念只是针对在ASP中),只不过是把需要在页面中执行的一段过程代码,写在了别处,但是执行的时候,还是要拿到前台来执行。定义方式是sub。就区别而言,简单说来function执行完后可以还可以返回一个值,但是sub不能。(如果你了解C语言,sub大体和void型函数类似,若不了解,就当这句话不存在。)就好比你想吃香肠,但是你家里没有,你就要有两种办法,一种是直接定义一个函数,买香肠。给它肉的参数,香肠就回来了。另一种定义一个过程,一头推进去肉,一头出来香肠,这个操作过程要在家里完成,至于中间怎么完成的,我不管,但是我要看着他执行。Are you 明白?官方讲解请参考一下百度二者的具体差距。

通过形形色色的函数和过程,能够极大的简化我们程序写作流程。同时,多阅读开源程序的那些函数库,把自己认为写得好的函数,收藏起来,自己在写程序的时候信手拈来,你也会很快武装自己的头脑,事半功倍!

今天太忙,所以讲的比较少,而且也没有图图,不够精彩。今天讲的比较生涩,各位多参考一下正规的表述。我的这些胡话醉语就是为了让大家明白这个道理。下课前呢,追梦阳光贴吧的开发者zidone先生大力支持了偶一把,送给大家一个常用函数库,大家可以看看,很多东西都能用到,这是他压箱底的绝活啊。详细看压缩包中的base.asp,具体自行测试。

好了,各位,明天我们来讲session和cookies进行管理员验证。


第四天文件:点击下载

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈