📄 29-3.cfm.htm
字号:
<P ALIGN="JUSTIFY">SET RS=MyConn.Execute("SELECT FullName</P>
<P ALIGN="JUSTIFY"> FROM resumes WHERE EMAIL='"&Request.Form("Email")&"'")</P>
<P ALIGN="JUSTIFY">IF NOT RS.EOF THEN</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><FONT SIZE=+2><i>The email address you entered already exists.</i></P>
<P ALIGN="JUSTIFY"><BR>To update your resume, please visit our Update Resume Page.</P>
<P ALIGN="JUSTIFY">Otherwise, click Back to return to the previous page and enter a different email address.</FONT></P>
<P ALIGN="JUSTIFY"><P></P>
<P ALIGN="JUSTIFY"> <FORM METHOD="POST" ACTION="nresume1.asp"></P>
<P ALIGN="JUSTIFY"> <% HiddenFields %></P>
<P ALIGN="JUSTIFY"> <INPUT TYPE="SUBMIT" VALUE="Back"></P>
<P ALIGN="JUSTIFY"> </FORM></P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">ELSE</P>
<P ALIGN="JUSTIFY">' IF Email Does NOT Exist, Then Do SQL INSERT</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">' Create SQL Insert String</P>
<P ALIGN="JUSTIFY">FOR EACH thing IN Request.FORM</P>
<P ALIGN="JUSTIFY">IF Request.Form(thing)<>"" and UCASE(thing)<>"CHKPASS" THEN</P>
<P ALIGN="JUSTIFY"> MyCols=MyCols&thing&","</P>
<P ALIGN="JUSTIFY"> IF Request.Form(thing)="CHECKED" THEN</P>
<P ALIGN="JUSTIFY"> MyVals=MyVals&"1,"</P>
<P ALIGN="JUSTIFY"> ELSE</P>
<P ALIGN="JUSTIFY"> MyVals=MyVals&"'"&KillQuotes(Request.Form(thing))&"',"</P>
<P ALIGN="JUSTIFY"> END IF</P>
<P ALIGN="JUSTIFY">END IF</P>
<P ALIGN="JUSTIFY">NEXT</P>
<P ALIGN="JUSTIFY">MyCols="INSERT resumes ("&MyCols&"EntryDate) "</P>
<P ALIGN="JUSTIFY">MyVals="VALUES ("&MyVals&"'"&NOW&"')"</P>
<P ALIGN="JUSTIFY">MySQL=MyCols&MyVals</P>
<P ALIGN="JUSTIFY">MyConn.Execute MySQL</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><FONT SIZE=+2><i>Thank you for submitting your resume!</i></P>
<P ALIGN="JUSTIFY"><BR>You can use your password to update your resume any time in the future </P>
<P ALIGN="JUSTIFY">by visiting the Update Resume Page.</P>
<P ALIGN="JUSTIFY"><P></P>
<P ALIGN="JUSTIFY"><FORM ACTION="../default.asp"></P>
<P ALIGN="JUSTIFY"><P ALIGN=RIGHT><INPUT TYPE="SUBMIT" VALUE="Home"></P>
<P ALIGN="JUSTIFY"></FORM></P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY">END IF ' For Email Exists</P>
<P ALIGN="JUSTIFY">RS.Close</P>
<P ALIGN="JUSTIFY">MyConn.Close</P>
<P ALIGN="JUSTIFY">END IF ' For Required Fields</P>
<P ALIGN="JUSTIFY">END IF ' For Matching Passwords</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"></TD></TR></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><!-- Close Nested Table --></P>
<P ALIGN="JUSTIFY"></TABLE></P>
<P ALIGN="JUSTIFY"></TD></TR></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><!-- Close Body Table --></P>
<P ALIGN="JUSTIFY"></TABLE></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"></BODY></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"><HR ALIGN="RIGHT" SIZE=1></P>
<P ALIGN="JUSTIFY"> 这个ASP页在提交HTML表单之前验证三件事:</P>
<P ALIGN="JUSTIFY">■首先,它检查用户在HTML表单中输入的两个密码是否匹配。</P>
<P ALIGN="JUSTIFY">■其次,检查,所必须填入的字段是否都已正确填写。</P>
<P ALIGN="JUSTIFY">■最后,检查用户输入的e-mail地址在数据库中是否已经存在。</P>
<P ALIGN="JUSTIFY">如果以上三条准则中的任何一条失败,用户将得到一个错误信息。他可以单击标有Back的按钮来返回New Resume页。例如,这里显示的是当用户没有全部填写必须填入字段时所显示错误信息的程序代码。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">' Check For Required Fields</P>
<P ALIGN="JUSTIFY">IF Request.Form("FullName")="" or</P>
<P ALIGN="JUSTIFY"> Request.Form("Email")="" or</P>
<P ALIGN="JUSTIFY"> Request.Form("Password")="" THEN</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><FONT SIZE=+2><i>In order to submit your resume, you must complete all required fields.</i></P>
<P ALIGN="JUSTIFY"><BR>Click Back to return to the previous page.</FONT></P>
<P ALIGN="JUSTIFY"><P></P>
<P ALIGN="JUSTIFY"><FORM METHOD="POST" ACTION="nresume1.asp"></P>
<P ALIGN="JUSTIFY"><% HiddenFields %></P>
<P ALIGN="JUSTIFY"><INPUT TYPE="SUBMIT" VALUE="Back"></P>
<P ALIGN="JUSTIFY"></FORM></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 这个代码片断将检查用户是否输入名字,E-mail地址和密码。如果他没有填入以上的任一项,将显示错误信息和HTML表单,注意所调用的过程Hidden Fields,这个过程被放置在HTML表单中,它做什么呢?</P>
<P ALIGN="JUSTIFY"> 设想一下如果一个人填写了所有的简历信息,仅仅忘了填写e-mail地址。他提交了表单并得到一个错误信息和一个按钮用于返回前一页。如果当他返回前页时发现他所先前已经输入表单的信息全部丢失的话,一定会很沮丧,怎样才能防止这一切发生呢?</P>
<P ALIGN="JUSTIFY">通过用隐蔽字段将信息传回到页面的方法,表单中可以显示用户先前输入的数据。例如,假设一个人在New Resume页中的job goals这一栏中输入了一段很长的信息,但忘了输入一个e-mail地址。为了将信息通过Confirm New Resume页传送回New Resnme页,你可以使用以下的代码:</P>
<P ALIGN="JUSTIFY"><FORM METHOD="POST" ACTION="nresume1.asp"></P>
<P ALIGN="JUSTIFY"><INPUT NAME=“Goals”TYPE=“HIDDEN”VALUE=“<%=Request.FORM(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Goals</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)%>”></P>
<P ALIGN="JUSTIFY"><INPUT TYPE="SUBMIT" VALUE="Back"></P>
<P ALIGN="JUSTIFY"></FORM></P>
<P ALIGN="JUSTIFY"> 记住在先前的一段中,在New Resume 页中所有的HTML表单字段都有VALUE属性。例如:Goals 字段的文本框HTML 代码如下:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><BLOCKQUOTE></P>
<P ALIGN="JUSTIFY">Enter a brief description of your work goals:</P>
<P ALIGN="JUSTIFY"><BR><TEXTAREA NAME="Goals" COLS=40 ROWS=10 WRAP="VIRTUAL"></P>
<P ALIGN="JUSTIFY"><%=Request.Form("Goals")%></TEXTAREA></P>
<P ALIGN="JUSTIFY"></BLOCKQUOTE></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 当用户第一次使用New Resume页时,在Goals文本框没有显示任何信息。但是,假设当他递交表单时一个错误发生,当他按动在Confirm New Resume页中的Back按钮返回New Resnme页时,任何先前输入Goals文本块的内容将再每次出现,数据通过隐蔽字段传送回第一页。</P>
<P ALIGN="JUSTIFY">但是,如果在Confirm New Resume页中为每一个在New Resume页上的表单字段都设置一个隐藏字段将是一项很乏味的工作。幸运的是,你不必这样做。HiddenFields过程将自动执行这一切,这里是这个过程的代码:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">' Create All Of The Hidden Fields</P>
<P ALIGN="JUSTIFY">SUB HiddenFields</P>
<P ALIGN="JUSTIFY"> FOR EACH thing IN Request.Form</P>
<P ALIGN="JUSTIFY"> %></P>
<P ALIGN="JUSTIFY"> <INPUT NAME="<%=Thing%>" TYPE="HIDDEN" VALUE="<%=Request.Form(Thing)%>"></P>
<P ALIGN="JUSTIFY"> <% </P>
<P ALIGN="JUSTIFY"> NEXT</P>
<P ALIGN="JUSTIFY">END SUB</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">这个过程为在From集合中的每个项都创建一个隐藏字段,如果从New Resume页中提交的HTML表单有500个字段的语,这个过程将自动在Confirm New Resume页中产生500个隐藏字段。当用户按动Back按钮,所有的隐藏表单字段将回送到New Resume页,所有输入到HTML表单的元素信息都得到保存。文章框、文本域、甚至检查框都能从隐藏表单字段中获得正确的数据。在这里检查框将引起一个特殊问题。这里是在New Resume页中使用的代码,用来提供检查框一个正确的值:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><BR><INPUT NAME="IIS" TYPE="CHECKBOX" </P>
<P ALIGN="JUSTIFY">VALUE="CHECKED" <%=Request.Form("IIS")%>>Internet Information Server</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 注意到检查框的VALUE属性被设置成CHECKED。如果当表单被提交时,检查框是被选中的,那么IIS表单字段的值是CHECKED。如果用户在一个错误之后返回这一页,这个值将在INPUT标记里显示出来,通过显示CHECKED属性,检查框被再次选中。</P>
<P ALIGN="JUSTIFY"> 现在假定表单内容有错误,这时数据将插入名为resumes的数据库表,一个SQL INSERT语句用于将数据插入resumes表。在处理过程中,这个SQL INSERT语句将根据表单集合中内容自动产生。表单的每项名称都与resumes表中的字段名相一致,通过循环语句产生SQL INSERT语句。</P>
<P ALIGN="JUSTIFY"> 以下是动态产生SQL INSERT字符串的代码:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">' Create SQL Insert String</P>
<P ALIGN="JUSTIFY">FOR EACH thing IN Request.FORM</P>
<P ALIGN="JUSTIFY">IF Request.Form(thing)<>"" and UCASE(thing)<>"CHKPASS" THEN</P>
<P ALIGN="JUSTIFY"> MyCols=MyCols&thing&","</P>
<P ALIGN="JUSTIFY"> IF Request.Form(thing)="CHECKED" THEN</P>
<P ALIGN="JUSTIFY"> MyVals=MyVals&"1,"</P>
<P ALIGN="JUSTIFY"> ELSE</P>
<P ALIGN="JUSTIFY"> MyVals=MyVals&"'"&KillQuotes(Request.Form(thing))&"',"</P>
<P ALIGN="JUSTIFY"> END IF</P>
<P ALIGN="JUSTIFY">END IF</P>
<P ALIGN="JUSTIFY">NEXT</P>
<P ALIGN="JUSTIFY">MyCols="INSERT resumes ("&MyCols&"EntryDate) "</P>
<P ALIGN="JUSTIFY">MyVals="VALUES ("&MyVals&"'"&NOW&"')"</P>
<P ALIGN="JUSTIFY">MySQL=MyCols&MyVals</P>
<P ALIGN="JUSTIFY">MyConn.Execute MySQL</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"> </P></FONT></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -