|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。asp+|session|变量现存的ASP版的eVille克制对站点的某些部分的会见,除非用户已登录。一些功效像检察未来的优惠特价,报名上课,和懂得本人以后的退学情况是受限定地区。假如想在未登录的形态下会见这类地区,你只会被从头导回到登录页面。用户在一份表格中输出他们的用户名与暗码,然后与数据库的先生表举行对照,假如登录乐成,一个名为blnLoggedIn的会话变量便被设为真。这类办法对这个站点是无效的,由于它架设在一台单一的服务器上。别的的办法将被用于webfarms上的web使用程序,好比ASP+的会话存储,或SQL的会话存储。
===确认用户输出===
代码重写事情量最年夜的部分在于那些猎取用户输出的页面,用户输出这些信息以挂号成为eVille会员。有一个叫signup.asp的页面,用来让用户输出他们的主要信息,现有会员也可籍此更新信息。未转换前,表格的数据经由过程HTTPPost体例递交给一个叫cookie.asp的页面。该页会确认表格中的数据,假如存在毛病,将用户导回signup.asp同时在querystring中加上毛病号。接着一个SelectCase语句会将基于毛病号的输入举行转换。我们反省的毛病包含:
*未输出用户名
*未输出暗码
*暗码与暗码确认不符
*用户名在数据库中已存在
经由过程将一切的输出域(field)转换成服务器控件,然后增加RequiredFieldValidators,能够轻松处置头两个大概产生的毛病。RequiredFieldValidator只须复杂确认经ControlToValidate域判别后的服务器控件中有输出值:
<tr>
<tdvalign="top">
<asp:RequiredFieldValidatorrunat=server
ControlToValidate="txtUserName"
Display="static"
errorMessage="<b>*</b>"
ForeColor="#CC3300"/>
</td>
<tdvalign=top>UserName:</td>
<tdvalign=top>
<asp:TextBoxid="txtUserName"size=25runat=server/></td>
</tr>
这类计划是云云复杂以致我们决意在把RequiredFieldValidator增加到一切的表格输出域中。在ASP中,我们一般会用一个VBScript函数来查验输出值,而如今我们只需把RequiredFieldValidator增加到每一个我们想确认的控件中往。
至于暗码与暗码确认的对照,我们可使用ASP+的CompareValidator。该控件同意我们设置ControlToValidate,ControlToCompare和Operator属性(在本例中是一个即是号,即Equal)。被指定的两个控件用Operator(即操纵符)属性相互对照。与传统的If...Then语句比拟,这类办法分明要复杂,快速:
<asp:CompareValidatorrunat=server
ControlToValidate="txtConfirm"
ControlToCompare="txtPassword"
Type="String"
Operator="Equal"
Display="dynamic"
errorMessage="<b>*</b>"
ForeColor="#CC3300"/>
基于分歧的扫瞄器,ASP+validator控件会响应实行客户真个JavaScript考证(针对IE4.0以上版本),大概实行服务器端考证(针对别的情形)。不管考证是怎样实行的,服务器真个考证是必不成少的(以制止某些调皮的家伙在客户端考证上耍名堂)。
如今轮到最初一个毛病了。假设提交的用户名已存在,这就请求一点点页面的修改。到今朝为止,我们已用能够实行服务器端与客户端考证代码的服务器控件完成了一切的ASP+考证。至于最初这个毛病,我们要供应一些自界说的服务器端考证,由于我们必要会见数据库以懂得被哀求的用户名是不是已存在。我们能够使用ASP+CustomValidator控件来办理这一成绩。
</p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|