简单asp注册代码
注册代码zhuce.asp
<title>除尘器数据库管理</title>
<table align=center width="200" height=200 >
<tr><td align=center>
<table width="200" border="1">
<tr>
<td><div align="center">新用户注册</div></td> </tr>
<tr>
<td><form name="form1" method="post" action="save.asp">
<label>用户名
:
<input name="username" type="text" id="username" />
</label>
<br />
密码:
<input name="password" type="text" id="password" />
</label>
<label> <br />
密码确认:
<input name="password2" type="text" id="password2" /> </label>
<label> <br />
QQ:
<input name="qq" type="text" id="qq" />
</label>
<label> </label>
<label> </label>
<label>
<input type="submit" name="Submit" value="提交" />
<input type="hidden" name="action" value="new" />
</label>
</form></td>
</tr>
</table>
验证保存代码save.asp
<!--#include file="conn.asp" -->
<%
dim username,password,password2,QQ
Username = Trim(Request("Username"))
password = Trim(Request("password"))
password2= trim(request("password2"))
qq=trim(request("qq"))
for i=1 to len(username)
user=mid(username,1,i)
if user="'" or user="%" or user="<" or user=">" or user="&" or user="|" then response.write ("<script language=JavaScript>" & "alert('您的用户名含有非法字符,请重新输入!');" & "history.back()" & "</script>" )
response.end
end if
next
for i=1 to len(password)
pass=mid(password,1,i)
if pass="'" or pass="%" or pass="<" or pass=">" or pass="&" or pass="|" then response.write( "<script language=JavaScript>" & "alert('您的密码含有非法字符,请重新输入!');" & "history.back()" & "</script>" )
response.end
end if
next
If Username = "" Or Password = "" Or Password2 = "" Then
response.write ("<script language=JavaScript>" & chr(13) & "alert('请检查您填写的内容是否完整!');" & "history.back()" & "</script>" )
response.End
ElseIf Password <> Password2 Then
response.write ("<script language=JavaScript>" & chr(13) & "alert('两次输入的密码不一致!');" & "history.back()" & "</script>" )
Response.End
end If
if QQ="" then
response.write ("<script language=JavaScript>" & chr(13) & "alert('QQ未填写!');" & "history.back()" & "</script>" )
Response.End
end If
set sql=server.createobject("adodb.recordset")
sql.open"select*from admin where username='"&username&"' ",conn,1,1
if sql.recordcount>0 then
response.write"用户名已经存在,请返回修改"
response.end
else
set sql=conn.execute("insert into [admin] ([username],[pass],[qq]) values ('"&username&"','"&pass&"','"&qq&"')")
Response.Write "<center><br><br><br><br>注册成功!"
end if
%>
连接数据库代码conn.Asp
<%
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("db.mdb")
Conn.Open
%>
Access文件名为db.Mdb,里面表名为admin.Asp。
asp简单教程及示例
目录1、创建 ASP 网页 (2)2、使用脚本语言 (8)3、使用变量和常量 (11)4、与客户端脚本交互操作 (16)5、编写过程 (19)6、使用集合 (22)7、处理用户输入 (29)8、使用组件和对象 (37)9、设置对象作用域 (41)10、将内容发送到浏览器 (45)11、包含文件 (52)12、管理会话 (54)13、访问数据源 (62)14、理解事务 (77)15、调试 ASP 脚本 (82)16、内置 ASP 对象 (86)创建 ASP 网页Active Server Pages (ASP) 文件是带有 .asp 扩展名的文本文件,它由下列内容组合而成:∙文本∙HTML 标记∙服务器端脚本使用 .asp 扩展名重命名现有的 .htm 或 .html 文件可以快速创建 .asp 文件。
如果文件不包含任何 ASP 功能,则服务器不进行 ASP 脚本处理,并很快将文件发送到客户端。
这为 Web 开发人员提供了极大的灵活性,因为即使目前不希望在文件中添加 ASP 功能,也可以使用 .asp 作为扩展名。
要在 Web 上发布 .asp 文件,请将新文件保存到网站上的虚拟目录(确保目录启用了“脚本”或“执行”权限)。
然后,使用浏览器输入文件的 URL 来请求文件。
(请注意,必须处理 ASP 网页,因此您无法通过输入其物理路径请求 .asp 文件)。
在浏览器中加载文件之后,可以发现服务器返回了 HTML 页。
这看起来有些奇怪,但要记住在发送文件之前,服务器将解析并执行所有 ASP 服务器端脚本。
用户将始终接收到标准的 HTML。
可以使用任意文本编辑器创建 .asp 文件。
随着对编辑器的深入使用,您将发现使用具有更多 ASP 支持的编辑器(如 Microsoft Visual InterDev 等)效率更高。
详细信息,请访问Microsoft Visual InterDev 网站。
添加服务器端脚本命令服务器端脚本是一系列指令,用于向 Web 服务器连续发出命令。
Web程序设计课程设计报告模板
Web程序设计课程设计报告课程设计题目:某电子杂志网站姓名:肖琴霞专业:软件工程(国际教育)班级:10211133学号:**********指导教师:***2013 年 3 月 10 日一、设计目的《Web应用开发课程设计》是实践性教学环节之一,是《Web程序设计》课程的辅助教学课程。
通过课程设计,使学生掌握Web网站的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本概念、原理和技术,将理论与实际相结合,应用现有的开发工具,规范、科学地完成一个完整地应用软件的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正使得计算机被广泛的应用于信息管理系统。
计算机的最大好处在于利用它能够进行信息管理和查询。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
制作电子杂志网站可以方便读者阅读,且可以扩大读者的视野以及提高阅历。
二、设计解决方案问题解决方案:经过分析,我们决定利用ASP编程,使用Dreamweaver MX作前端开发工具,利用SQLServer2000作后台数据库管理,数据库驱动使用ADO。
前台功能模块:系统主界面与登录程序设计,杂志查询及订阅,读者服务模块,杂志分类设计等。
后台功能模块:管理主界面与登录程序设计,最新杂志信息管理模块,杂志订阅管理模块,在留言管理模块设计等。
后台管理的建立,使管理员可以通过后台很容易的对杂志城进行管理,比如:对最畅销杂志,公告和杂志城注册用户进行添加,删除等管理工作,还可以对读者在线留言的处理。
三、电子杂志网需求分析3.1 需求分析需求分析是整个设计过程的基础,最困难、最消耗时间的一步。
ASP实验报告
1、实验项目名称: 创建一个网站2、实验项目名称: 字体程序3、实验项目名称: 验证控件和FileUpload控件MaxValue:最大值MiniValue:最小值Type:数据类型3、compaerVatidater除了ControlToValidate、ErrorMessage外还有ControlToCompare和Type4、RegularExpressionValidator除了ControlToValidate、ErrorMessage外还有ValidationExpression (二)文件上传控件4、实验项目名称:网站导航与页面之间的传值5、实验项目名称:利用CSS和DIV完成一个美观网页设计一、实验目的学会使用CSS+DIV完成一个网页布局二、实验环境VS2010三、实验方法和实验步骤1、画出框架图2、创建DIV层共6个:<div class="alldiv"><div id="top" class="alldiv">标题Logo栏</div><div id="navigation" class="alldiv">导航栏</div><div id="left" class="alldiv">左边</div><div id="middle" class="alldiv">中间</div><div id="right" class="alldiv">右边</div><div id="bottom" class="alldiv">页脚</div></div>3、CSS控制DIV进行布局.alldiv{width:760px;text-align: center; border: #00ff00 1px solid; }#top6、实验项目名称:利用主题和母版页设计一个美观网页7、实验项目名称:使用SqlConnection完成对数据库的连接8、实验项目名称: 利用完成对数据库额增删改查9、实验项目名称: 完成DropDownList、GridView、DataList 和FormView数据的绑定10、实验项目名称:AJAX技术的使用11、实验项目名称:Jquery:按钮倒数10秒之后才可点击,用于用户注册12、实验项目名称: Web服务:创建立方和和天气的Web服务13、实验项目名称: XML:个人通讯薄的设计与实现二、实验环境VS2010三、实验方法和实验步骤1、xml:文件2、 DTD文件14、实验项目名称:完成网上书店的大框架设计一、实验目的掌握的网站设计流程和模块功能的实现二、实验环境VS2010二、实验方法和实验步骤1、框架图:。
简单ASP语言做留言板(一看就会 附图)
一、安装与调试常听朋友感叹ASP程序难学不易懂,不过我起初学习这门技术的时候也有过这样的感悟。
从今天开始,我将以我学ASP的经验来做一个简单的ASP留言本,这个留言本用了Access数据库,所以务必请大家要跟我一起做的朋友都安装好Office软件,相信各位自己的电脑上都有了。
好了,开始。
创建ASP的运行环境(安装IIS)IIS(Internet Information Service)是构建ASP站点所必须的,所以,我们应该先确认自己的电脑已安装了IIS信息服务,如果没有安装好的话,请按以下步骤:1、打开“控制面板”2、双击“添加/删除程序”3、单击“添加/删除Windows组件”,打开添加/删除Windows组件对话框:3、从下拉的列表中选择“Internet 信息服务(IIS)”单击“下一步”:4、出现组件安装进度窗口,如弹出需要安装盘的话,放入Windows2000安装盘,按提示操作即可。
直至最后安装完毕。
二、设计数据库ASP程序本身并不能储存数据,众所周知,留言本有以下信息需要保存:留言者姓名、联系方式、留言内容等等。
因为ASP并不能储存数据,所以数据库在这种环境之下就产生了。
数据库的种类也很多,针对不同的程序也有适用于它的数据库,比如Access 和Ms SQL就比较适用ASP和程序,至于其它的数据库和程序,就不属于本文所讨论的问题了,有兴趣的朋友可以查看其它一些资料。
那么既然Access和MS SQL都适用ASP,那么具体又如何来选择呢?我们可以打一个比方:比如钉一枚小钉子,聪明的人一定不会用一个大的棒槌,而是选择小的铁锤,虽然用大的棒槌也一样的可以把钉子钉进去,可是没有人愿意这样做。
数据库也一样:Access比较适用小型的应用,而MS SQL则适用于大中型的数据库应用,所以要做一个留言本,理所当然是选择Access更好一些,但是如果你决心使用MS,没有人会极力阻止你。
好了,废话少说,切入正题,下面开始创建数据库。
asp.net登陆注册功能实现
登陆注册功能实现1.asp页⾯,login.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head id="Head1" runat="server"><title>login</title><script src="js/aj.js" type="text/javascript"></script><script src="js/loginCookies.js" type="text/javascript"></script><script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script><script type="text/javascript">window.onload = function () {document.getElementById('username').focus(); //⽤户名框获得焦点if (GetCookie('username') != null && GetCookie('userpass') != null)//设置记住密码的登录页⾯{document.getElementById("username").value = GetCookie('username');document.getElementById("userpass").value = GetCookie('userpass');}}String.prototype.Trim = function () //⾃定义的去除字符串两边空格的⽅法{return this.replace(/(^\s*)|(\s*$)/g, "");}function login()//登录{var aj = new ajax();var username = document.getElementById("username").value.Trim();var userpass = document.getElementById("userpass").value;var url = "login.aspx?username=" + escape(username) + "&userpass=" + escape(userpass);aj.get(url, callback);function callback(obj) {var response = obj.responsetext;var res = response.split('\n');if (res[0] == "ok") {if (document.getElementById("cbRememberPwd").checked) {SetCookie('username', username, 1); //保存密码⼀个⽉SetCookie('userpass', userpass, 1);}else {SetCookie('username', username);SetCookie('userpass', userpass);}window.open("loginIndex.htm", "_self");}else {alert("密码错误");}}}function reset()//重置{window.onload(); //执⾏窗体登录事件document.getElementById("username").value = "";document.getElementById("userpass").value = "";}function enterLogin() {if (event.keyCode == 13) //如果按下的是Enter键的话,就执⾏登录语句{login();}}</script></head><body><div style="text-align: center"><form id="form1" runat="server"><table border="1" cellpadding="1"><tr><td align="center" valign="middle">⽤户名:</td><td align="center" valign="middle"> <asp:TextBox ID="username" runat="server"></asp:TextBox></td></tr><tr><td align="center" valign="middle">密码:</td><td align="center" valign="middle"> <asp:TextBox ID="userpass" TextMode="Password" runat="server"></asp:TextBox></td></tr><tr><td align="center" colspan="3" valign="middle"><input id="cbRememberPwd" type="checkbox" />记住密码⼀个⽉</td></tr><tr><td align="center" colspan="3" valign="middle"><%-- <input id="btnOK" type="submit" value="登录" onclick="login()" /> --%><asp:Button ID="btnOK" runat="server" Text="登陆" BorderStyle="None" OnClick="Button1_Click"OnClientClick=" return login();" /> <input id="btnReset" type="button" value="重置" onclick="reset()" runat="server" /><%-- <asp:Button ID="Button1" Text="重置" runat="server"/> --%></td></tr></table><a href="regedit.aspx">注册</a></form></div></body></html>2.aj.js 部分的js代码function ajax() {function getXHR()//获取xmlhttprequest{var request = false;try {request = new XMLHttpRequest();}catch (trymicrosoft) {try {request = new ActiveXObject("Msxml2.XMLHTTP");}catch (othermicrosoft) {try {request = new ActiveXObject("Microsoft.XMLHTTP");}catch (failed) {request = false;}}}return request;}this.get = function (openUrl, successFun)//ajax对象的get⽅法,通过get⽅式发送请求,openUrl为请求的页⾯,successFun为成功回调执⾏的函数{var request = getXHR();request.open("get", openUrl, true);// request.onreadystatechange = function ()// {// if (request.readystate==4)// {// if (request.status==200)// {// successFun(request);// }// }// };request.onreadystatechange = update;function update() {if (request.readystate == 4) {if (request.status == 200) {successFun(request);}}}request.send(null);}this.post = function (openUrl, sendContent, successFun)//ajax对象的post⽅法,通过post⽅式发送请求,openUrl为请求的页⾯,successFun为成功回调执⾏的函数 {var request = getXHR();request.open("post", openUrl, true);request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //告诉服务器发送的是⽂本request.onreadystatechange = update;function update() {if (request.readystate == 4) {if (request.status == 200) {successFun(request);}}}request.send(sendContent);}}3.loginCookies.js 代码登陆页⾯信息缓存function SetCookie(name, value, expires, path, domain, secure) {var today = new Date();today.setTime(today.getTime());if (expires) { expires *= 2592000; }var expires_date = new Date(today.getTime() + (expires));document.cookie = name + "=" + escape(value)+ (expires ? ";expires=" + expires_date.toGMTString() : "")+ (path ? ";path=" + path : "")+ (domain ? ";domain=" + domain : "")+ (secure ? ";secure" : "");}function GetCookie(name) {var cookies = document.cookie.split(';');var cookie = '';for (var i = 0; i < cookies.length; i++) {cookie = cookies[i].split('=');if (cookie[0].replace(/^\s+|\s+$/g, '') == name) {return (cookie.length <= 1) ? "" : unescape(cookie[1].replace(/^\s+|\s+$/g, ''));}}return null;}function Delcookie(name, path, domain) {document.cookie = name + "="+ (path ? ";path=" + path : "")+ (domain ? ";domain=" + domain : "")+ ";expires=Thu, 01-Jan-1970 00:00:01 GMT";}4.login的后台台⾯,即login.aspx.csusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){//数据库连接字符串string conn = "server=(local);database=TestDB;User ID=sa;Password=123456;";SqlConnection sqlcon = new SqlConnection(conn);if (Request["username"] != null && Request["userpass"] != null){string name = Request["username"].ToString();string pwd = Request["userpass"].ToString();string strSql = "select * from zxl_login_users where username='" + name + "'" + " and userpass='" + pwd + "'"; sqlcon.Open();SqlCommand Comd = new SqlCommand(strSql, sqlcon);SqlDataReader dr = Comd.ExecuteReader();if (dr.Read()){Response.Redirect("html/success.htm");}else{Response.Redirect("html/error.htm");}}}}5.VerifyUserNameHandler.ashx<%@ WebHandler Language="C#" Class="VerifyUserNameHandler" %>using System;using System.Web;using System.Collections;using System.Collections.Generic;using System.Data.SqlClient;public class VerifyUserNameHandler : IHttpHandler{public void ProcessRequest(HttpContext context){string _name = context.Request.QueryString["para"];_name = string.IsNullOrEmpty(_name) ? "" : _name;string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;System.Data.DataTable zxl_login_users = new System.Data.DataTable();using (SqlConnection conn = new SqlConnection(connstring)){if (conn.State != System.Data.ConnectionState.Open){conn.Open();}SqlCommand cmd = new SqlCommand("P_test", conn);mandType = mandType.StoredProcedure;cmd.Parameters.Add("@username", System.Data.SqlDbType.VarChar).Value = _name;SqlDataAdapter adapter = new SqlDataAdapter(cmd);adapter.SelectCommand = cmd;adapter.Fill(zxl_login_users);}string[] Names = new string[zxl_login_users.Rows.Count]; //创建⼀个与表⾏数相等的固定数组for (int i = 0; i < zxl_login_users.Rows.Count; i++){Names[i] = zxl_login_users.Rows[i][0].ToString();}//string[] Names = [zxl_login_users.Copy]fn;//这⾥⽤Names数组来代替数据库中的结果集if (Array.IndexOf<string>(Names, _name) == -1){context.Response.Write("恭喜,⽤户名可以使⽤。
ASP编码转换大全UTF8、GB2312、二进制、十进制代码、十六进制
ASP编码转换大全UTF8、GB2312、二进制、十进制代码、十六进制'UTF转GB---将UTF8编码文字转换为GB编码文字function UTF2GB(UTFStr) for Dig=1 to len(UTFStr)'如果UTF8编码文字以%开头则进行转换if mid(UTFStr,Dig,1)="%" then'UTF8编码文字大于8则转换为汉字if len(UTFStr) >= Dig+8 thenGBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))Dig=Dig+8elseGBStr=GBStr & mid(UTFStr,Dig,1)end ifelseGBStr=GBStr & mid(UTFStr,Dig,1)end ifnextUTF2GB=GBStrend function'UTF8编码文字将转换为汉字function ConvChinese(x)A=split(mid(x,2),"%")i=0j=0for i=0 to ubound(A)A(i)=c16to2(A(i))nextfor i=0 to ubound(A)-1DigS=instr(A(i),"0")Unicode=""for j=1 to DigS-1if j=1 thenA(i)=right(A(i),len(A(i))-DigS)Unicode=Unicode & A(i)elsei=i+1A(i)=right(A(i),len(A(i))-2)Unicode=Unicode & A(i)end ifnextif len(c2to16(Unicode))=4 thenConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))elseConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))end ifnextend function'二进制代码转换为十六进制代码unction c2to16(x)i=1for i=1 to len(x) step 4c2to16=c2to16 & hex(c2to10(mid(x,i,4)))nextend function'二进制代码转换为十进制代码function c2to10(x)c2to10=0if x="0" then exit functioni=0for i= 0 to len(x) -1if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i) nextend function'十六进制代码转换为二进制代码function c16to2(x)i=0for i=1 to len(trim(x))tempstr= c10to2(cint(int("&h" & mid(x,i,1))))do while len(tempstr)<4tempstr="0" & tempstrloopc16to2=c16to2 & tempstrnextend function'十进制代码转换为二进制代码function c10to2(x)mysign=sgn(x)x=abs(x)DigS=1doif x<2^DigS thenexit doelseDigS=DigS+1end iflooptempnum=xi=0for i=DigS to 1 step-1if tempnum>=2^(i-1) thentempnum=tempnum-2^(i-1)c10to2=c10to2 & "1"elsec10to2=c10to2 & "0"end ifnextif mysign=-1 then c10to2="-" & c10to2end function'GB转UTF8--将GB编码文字转换为UTF8编码文字Function toUTF8(szInput)Dim wch, uch, szRetDim xDim nAsc, nAsc2, nAsc3'如果输入参数为空,则退出函数If szInput = "" ThentoUTF8 = szInputExit FunctionEnd If'开始转换For x = 1 To Len(szInput)'利用mid函数分拆GB编码文字wch = Mid(szInput, x, 1)'利用ascW函数返回每一个GB编码文字的Unicode字符代码'注:asc函数返回的是ANSI 字符代码,注意区别nAsc = AscW(wch)If nAsc < 0 Then nAsc = nAsc + 65536If (nAsc And &HFF80) = 0 ThenszRet = szRet & wchElseIf (nAsc And &HF000) = 0 Thenuch = "%" & Hex(((nAsc \\ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)szRet = szRet & uchElse'GB编码文字的Unicode字符代码在0800 - FFFF之间采用三字节模版uch = "%" & Hex((nAsc \\ 2 ^ 12) Or &HE0) & "%" & _Hex((nAsc \\ 2 ^ 6) And &H3F Or &H80) & "%" & _Hex(nAsc And &H3F Or &H80)szRet = szRet & uchEnd IfEnd IfNexttoUTF8 = szRetEnd Function'GB转unicode---将GB编码文字转换为unicode编码文字function chinese2unicode(Str)dim idim Str_onedim Str_unicodeif(isnull(Str)) thenexit functionend iffor i=1 to len(Str)Str_one=Mid(Str,i,1)Str_unicode=Str_unicode&chr(38)Str_unicode=Str_unicode&chr(35)Str_unicode=Str_unicode&chr(120)Str_unicode=Str_unicode& Hex(ascw(Str_one))Str_unicode=Str_unicode&chr(59)nextchinese2unicode=Str_unicodeend function'URL解码Function URLDecode(enStr)dim deStrdim c,i,vdeStr=""for i=1 to len(enStr)c=Mid(enStr,i,1)if c="%" thenv=eval("&h"+Mid(enStr,i+1,2))if v<128 thendeStr=deStr&chr(v)i=i+2elseif isvalidhex(mid(enstr,i,3)) thenif isvalidhex(mid(enstr,i+3,3)) thenv=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))deStr=deStr&chr(v)i=i+5elsev=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1) ))))deStr=deStr&chr(v)i=i+3end ifelsedestr=destr&cend ifend ifelseif c="+" thendeStr=deStr&" "elsedeStr=deStr&cend ifend ifnextURLDecode=deStrend function'判断是否为有效的十六进制代码function isvalidhex(str)dim cisvalidhex=truestr=ucase(str)if len(str)<>3 then isvalidhex=false:exit functionif left(str,1)<>"%" then isvalidhex=false:exit functionc=mid(str,2,1)if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit functionc=mid(str,3,1)if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit functionend function。
asp简单的搜索引擎代码
asp简单的搜索引擎代码下⾯是库中URLINDEX表:URL和Keywords字段分别添加了索引.URL ⽂本 (索引:有(⽆重复))Title ⽂本Description ⽂本Summary ⽂本Keywords ⽂本(索引:有(⽆重复))doquery.asp<HTML><HEAD><TITLE>简单搜索引擎</TITLE></HEAD><BODY BGCOLOR=#ffffff MARGINWIDTH="0" MARGINHEIGHT="0"LEFTMARGIN=0 TOPMARGIN=0><FORM METHOD="post" ACTION="doquery.asp?act=search">Query: <INPUT TYPE="Text" NAME="QueryString"><BR><INPUT TYPE="Submit" VALUE="Submit"></FORM></CENTER><%dim actact=request("act")if(act="search") thenQueryString = Request.form( "QueryString" )QueryWords = Split( QueryString )strIndent = " "' 如果搜索为空则返回If QueryString = "" ThenResponse.Redirect( "default.asp" )End IfSession.timeout = 2If IsObject(Session("sitesearch_conn")) ThenSet conn = Session("sitesearch_conn")ElseSet conn = Server.CreateObject("ADODB.Connection")conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/SiteSearch.mdb"),"","" Set Session("sitesearch_conn") = connEnd If' 查询语句sql = "SELECT * FROM [URLIndex] WHERE"'搜索Description字段sql = sql & " ( [Description] LIKE '%" & QueryWords( 0 ) & "%'" ' FirstFor i = LBound( QueryWords ) + 1 to UBound( QueryWords )If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" ThenIf uCase( QueryWords( i-1 ) ) = "OR" Thensql = sql & " OR [Description] LIKE '%" & QueryWords( i ) & "%'"Elsesql = sql & " AND [Description] LIKE '%" & QueryWords( i ) & "%'"End IfEnd IfNext' 搜索Keywords字段sql = sql & " ) OR ( [Keywords] LIKE '%" & QueryWords( 0 ) & "%'"For i = LBound( QueryWords ) + 1 to UBound( QueryWords )If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" ThenIf uCase( QueryWords( i-1 ) ) = "OR" Thensql = sql & " OR [Keywords] LIKE '%" & QueryWords( i ) & "%'"sql = sql & " OR [Keywords] LIKE '%" & QueryWords( i ) & "%'"Elsesql = sql & " AND [Keywords] LIKE '%" & QueryWords( i ) & "%'"End IfEnd IfNext' 搜索Title字段sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"For i = LBound( QueryWords ) + 1 to UBound( QueryWords )If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" ThenIf uCase( QueryWords( i-1 ) ) = "OR" Thensql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"Elsesql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"End IfEnd IfNext' 搜索Summary字段sql = sql & " ) OR ( [Summary] LIKE '%" & QueryWords( 0 ) & "%'"For i = LBound( QueryWords ) + 1 to UBound( QueryWords )If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" ThenIf uCase( QueryWords( i-1 ) ) = "OR" Thensql = sql & " OR [Summary] LIKE '%" & QueryWords( i ) & "%'"Elsesql = sql & " AND [Summary] LIKE '%" & QueryWords( i ) & "%'"End IfEnd IfNextsql = sql & " )"'Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sql, conn, 3, 3Response.Write "<BR><B> 你搜索的是: </B> " & QueryStringResponse.Write "<BR><B> 搜索的关键字: </B> "For i = LBound( QueryWords ) to UBound( QueryWords )Response.Write "<BR>" & strIndent & i & ": " & QueryWords( i )Next' Print the SQL StringResponse.Write "<BR><B> sql 语句 : </B> " & sql' Print the ResultsResponse.Write "<BR><B> 结果 : </B> <UL>"On Error Resume Nextrs.MoveFirstDo While Not rs.eofResponse.Write "<BR>" & "<A HREF='OpenPage.asp?IndexURL=" & rs.Fields("URL").Value & "'>" & rs.Fields("Title") & "</A> - " Response.Write rs.Fields("Description") & "<BR>"Response.Write " <FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"rs.MoveNextLoopResponse.Write "</UL>"end if%></BODY></HTML>。
ASP最简单的留言本
ASP最简单的留言本一、建立文件!最简单的论坛也要有几个必要的文件,就是:1、数据库,用来储存发表的帖子!-------命名为:bbs.mdb2、有数据库就必须连接数据库,该文件用来连接数据库:----命名为:conn.asp3、发表帖子的文件----命名为:say.asp4、保存发表帖子内容的文件-----命名为:save.asp5、显示帖子标题的文件------命名为:index.asp6、显示帖子内容的文件,即点击标题后所进入的页面-----命名为:show.asp建立文件是可以先建立文本文档,他的格式为"文件名.txt",我们只需把它改为"文件名.asp"注:一定要用双引号,不然建立出来的文件还说txt 后缀的二、各文件的主要内容1、bbs.mdb打开这个数据库,就是Access建立一个表,命名为bbs该表中有几个字段:id(自动给帖子编号),他的数据类型设为“自动编号”name(用来储存发表的作者),数据类型为“文本”title(用来储存帖子的主题),数据类型为“文本”body(用来储存帖子的内容),数据类型为“备注”2、conn.asp源代码为:<%Server.scriptTimeout="10"connstr="DBQ="+server.mappath("bbs.mdb")+";D efaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"setconn=Server.CreateObject("ADODB.connection") conn.open connstr%>这个文件也没有什么好说的,就是建立和数据库文件的连接,"bbs.mdb"就是我们刚才建立的数据库文件3、say.asp源代码为:<form method="POST" action="save.asp"><p>大名:<input type="text" name="name" size="20"></p><p>标题:<input type="text" name="title" size="91"></p><p>内容:</p><p><textarea rows="11" name="body" cols="97"></textarea></p><p> </p><p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p></form>大家应该看得懂的,这个根本就是html语法,对的,根本就是,这个只是发表的界面不过要注意这一句<form method="POST" action="save.asp">,他把用户所填的内容发送至save.asp这个文件,下面就看save.asp这个文件吧!4、save.asp源代码:<!--#include file="conn.asp"--><%name=Replace(Request.Form("name"),"'","''" )title=Replace(Request.Form("title"),"'","''" )body=Replace(Request.Form("body"),"'","''") %><%if name="" or title="" or body="" then%> 请<a href="****:history.go(-1)">后退</a>填写完整资料,你才能发表帖子!<%else%><%set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")%>发表成功!<a href="index.asp">查看帖子</a> <%end ifset savebbs=nothing%>第一句:<!--#include file="conn.asp"-->,意思是插入conn.asp文件,即与数据库进行连接!asp语句必须用<% %>这个格式包含起来,而插入文件的语句就不用,接下来几句:name=Replace(Request.Form("name"),"'","''") title=Replace(Request.Form("title"),"'","''" )body=Replace(Request.Form("body"),"'","''") “Replace(Request.Form("name"),"'","''")”意思是接收表单中名为name的文本框发来的数据,而“name=Replace(Request.Form("name"),"'","''" )”则是把发来的数据储存在name变量中,如果你这样:“abc123=Replace(Request.Form("name"),"'","' '")”就是把表单中名为name的文本框发来的数据储存在abc123变量中接着:if name="" or title="" or body="" then 判断name、title和body变量中是否没有填写内容,即为"",如果这样,就执行这一语句:“请<a href="****:history.go(-1)">后退</a>填写完整资料,你才能发表帖子!”该语句属于html语法,大家都看得懂的!"<%else%>"就是说“当if……then不成立(即是说所有内容都已经填写)”,就执行语句:“<%set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")% >发表成功!<a href="index.asp">查看帖子</a>”"set save=conn.execute"属于固定的语句,不过savebbs可以自己修改,"="后面的就难解释了:insert into bbs(name,title,body)意思是向名为bbs的表(在建立数据库时已经建立的表)中的name,title,body字段插入,插入什么呢?看接下的values('"&name&"','"&title&"','"&body&"')") values是“值”的意思就是插入向量name,title,body,向量用格式'"&name&"'表示最后:end if就是结束if……thenset savebbs=nothing可以说是关闭掉:set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")5、index.asp源代码:<!--#include file="conn.asp"--><b><a href="say.asp">发表帖子</a></b><br><br> <div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; " bordercolor="#000000" width="100%" height="26"><tr><td width="17%"><b>作者</b></td><td width="83%"><b>主题</b></td></tr></table></center></div><hr size="1"><%i=1set showbbs=conn.execute("select*from bbs order by id desc")do while not showbbs.eof%><div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; " bordercolor="#000000" width="100%" height="20"><tr><td width="17%"><%=showbbs("name")%> </td> <td width="83%"><ahref="show.asp?id=<%=showbbs("id")%>"><%=sho wbbs("title")%></a></td></tr></table></center></div><hr size="1"><%i=i+1if i>50 then exit doshowbbs.movenextLoopshowbbs.Closeset showbbs=nothing%>主要讲精华部分:set showbbs=conn.execute("select*from bbs order by id desc")意思是:向数据库中的bbs数据表查询数据,并以id排顺序,还有这么一句:<%=showbbs("name")%>就是显示数据表中的name字段的数据,这里的showbbs就是set showbbs=……中的showbbs代码中的i=1和i=i+1if i>50 then exit do showbbs.movenextLoopshowbbs.Closeset showbbs=nothing这几句属于循环语句,这里就不理他,理解了也不太好用,因为他只显示50张贴子!if i>50 then exit do中的50可以修改但我们做论坛必须把帖子分页,又因为分页这个语句太复杂,我想就不讲了,等这一个弄懂了才来弄还有一句很有用的:<ahref="show.asp?id=<%=showbbs("id")%>"><%=sho wbbs("title")%></a>里面的超连接:show.asp?id=<%=showbbs("id")%>,注意:这里的超连接把帖子的id包含了,等一下在show.asp文件中就有用了6、show.asp源代码:<!--#include file="conn.asp"--><%id=request.querystring("id")%><%set show=conn.execute("select*from bbs where id="&id&"")%><a href="index.asp"><b>回到首页</b></a><br><b><a href="say.asp">发表帖子</a></b><br><hr size="1"><table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="180"><tr><td width="21%" height="22"><b>作者:</b><%=show("name")%></td><td width="79%" height="22"><b>主题:</b><%=show("title")%></td></tr><tr><td width="100%" colspan="2" height="158" valign="top"><b><br>内容:</b><%=show("body")%></td></tr></table><%set show=nothing%>劲语句---精华语句:id=request.querystring("id")在讲解index.asp文件的后面已经说到:show.asp?id=<%=showbbs("id")这一句,id=request.querystring("id")就是把地址栏中的id的值读取下来,因为index.asp文件中的超连接点击后,地址栏就为http://…………/show.asp?id=数字,所以show.asp使用id=request.querystring("id")语句把数字读取下来于是接着使用:set show=conn.execute("select*from bbs where id="&id&"")向数据表查询id为这时读取下来的数字的帖子,即where id="&id&"最后<%set show=nothing%>三、一个简单的论坛就这样完成了,挂在我们自己的ASP空间上去试试还有就是所有的文件在同一个目录中。
ASP代码大全
邮件方面:CDONTS:<%Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立邮件对象cdomail.Subject = "Mail Subject" '邮件标题cdomail.From = "Sender's Mail" '发件人的地址cdomail.To = "Email will from" '收件人的地址cdomail.Body = "Mail Body" '邮件的内容cdomail.Send '执行发送%>这种方法发送邮件是最简单的,同时也带来一定的问题,就是很少有服务器会开这项服务!我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。
因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):<%'参数说明'Subject : 邮件标题'MailAddress : 发件服务器的地址,如'Email : 收件人邮件地址'Sender : 发件人姓名'Content : 邮件内容'Fromer : 发件人的邮件地址----------------------------Jmail:Sub SendAction(subject, mailaddress, email, sender, content, fromer)Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUEjmail.logging = true '启用使用日志jmail.Charset = "GB2312" '邮件文字的代码为简体中文jmail.ContentType = "text/html" '邮件的格式为HTML的jmail.ServerAddress = mailaddress '发送邮件的服务器jmail.AddRecipient Email '邮件的收件人jmail.SenderName = sender '邮件发送者的姓名jmail.Sender = fromer '邮件发送者的邮件地址jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢,3 为默认值jmail.Subject = subject '邮件的标题jmail.Body = content '邮件的内容'由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复'jmail.AddRec ipientBCC Email '密件收件人的地址'jmail.AddRec ipientCC Email '邮件抄送者的地址jmail.Execute() '执行邮件发送jmail.Close '关闭邮件对象End Sub'调用此Sub的例子Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromerstrSubject = "这是一封用JMAIL发送的测试邮件"strContent = "JMail组件发送测试成功!"strEmail = "runbing@"strFromer = "runbing@"strMailAddress = ""Call SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)%><%Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUEjmail.logging = true '启用使用日志jmail.Charset = "GB2312" '邮件文字的代码为简体中文jmail.ContentType = "text/html" '邮件的格式为HTML的jmail.ServerAddress = "Server Address" '发送邮件的服务器jmail.AddRecipient Email '邮件的收件人jmail.SenderName = "SenderName" '邮件发送者的姓名jmail.Sender = "Email Address" '邮件发送者的邮件地址jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢,3 为默认值jmail.Subject = "Mail Subject" '邮件的标题jmail.Body = "Mail Body" '邮件的内容jmail.AddRecipientBCC Email '密件收件人的地址jmail.AddRecipientCC Email '邮件抄送者的地址jmail.Execute() '执行邮件发送jmail.Close '关闭邮件对象%>w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:<%Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值jmail.logging = true '启用邮件日志jmail.Charset = "GB2312" '邮件的文字编码为国标jmail.ContentType = "text/html" '邮件的格式为HTML格式jmail.AddRecipient Email '邮件收件人的地址jmail.From = "Email From for Sender" '发件人的E-MAIL地址jmail.MailServerUserName = "UserName of Email" '登录邮件服务器所需的用户名jmail.MailServerPassword = "Password of Email" '登录邮件服务器所需的密码jmail.Subject = "Mail Subject" '邮件的标题jmail.Body = "Mail Body" '邮件的内容jmail.Prority = 1 '邮件的紧急程序,1 为最快,5 为最慢,3 为默认值jmail.Send("Server Address") '执行邮件发送(通过邮件服务器地址)jmail.Close() '关闭对象%>----------------------------------------------------------------asp的错误集合(这个要看仔细了哟):ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中) MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义) MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错) MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误) MicrosoftVBscript编译器错误(0x800A040E)-->缺少loopMicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endifMicrosoftVBscript编译器错误(0x800A03EE)-->语句未结束(缺少")")MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)MicrosoftVBscript运行时错误(0x800A005B)-->缺少setMicrosoftVBscript运行时错误(0x800A0005)-->变量未定义MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少thenMicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作) ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句) ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)ADODB.Recordset(0x800A0E7D)-->conn定义错误ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据ASP 编程中20 个非常有用的例子1.如何用Asp判断你的网站的虚拟物理路径答:使用Mappath方法< p align="center" >< font size="4" face="Arial" >< b >The Physical path to this virtual website is:< /b >< /font >< font color="#FF0000" size="6" face="Arial" >< %= Server.MapPath("\")% >< /font >< /p >2.我如何知道使用者所用的浏览器?答:使用the Request object方法strBrowser=Request.ServerV ariables("HTTP_USER_AGENT")If Instr(strBrowser,"MSIE") < > 0 ThenResponse.redirect("ForMSIEOnly.htm")ElseResponse.redirect("ForAll.htm")End If3.如何计算每天的平均反复访问人数答:解决方法< % startdate=DateDiff("d",Now,"01/01/1990")if strdate< 0 then startdate=startdate*-1avgvpd=Int((usercnt)/startdate) % >显示结果< % response.write(avgvpd) % >that is it.this page have been viewed since November 10,19984.如何显示随机图象< % dim p,ppic,dpicppic=12randomizep=Int((ppic*rnd)+1)dpic="graphix/randompics/"&p&".gif"% >显示< img src="< %=dpic% >" >5.如何回到先前的页面答:< a href="< %=request.serverV ariables("Http_REFERER")% >" >preivous page< /a >或用图片如:< img src="arrowback.gif"alt="< %=request.serverV ariables("HTTP_REFERER")% >" >6.如何确定对方的IP地址答:< %=Request.serverV ariables("REMOTE_ADDR)% >7.如何链结到一副图片上答:< % @Languages=vbs cript % >< % response.expires=0strimagename="graphix/errors/erroriamge.gif"response.redirect(strimagename)% >8.强迫输入密码对话框答:把这句话放载页面的开头< % response.status="401 not Authorized"response.end% >9.如何传递变量从一页到另一页答:用HIDDEN 类型来传递变量< % form method="post" action="mynextpage.asp" >< % for each item in request.form % >< input namee="< %=item% >" type="HIDDEN"value="< %=server.HTMLEncode(Request.form(item)) % >" >< % next % >< /form >10.为何我在asp 程序内使用msgbox,程序出错说没有权限答:由于asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你(:) 呵呵) 没有权限。
ASP实验报告实验2
ASP实验报告实验2第一点:ASP实验2的背景与目的ASP(Active Server Pages)实验是计算机科学和网络编程领域的一项基本技能实验,旨在让学生通过实践掌握ASP技术,进一步了解动态网页的制作和数据库的交互。
实验2则是基于第一实验的基础上,进一步深化学生对于ASP技术的应用,提高学生解决实际问题的能力。
本实验要求学生设计并实现一个简单的ASP应用程序,其主要功能是实现用户注册和登录功能。
通过这个实验,学生需要掌握如何使用ASP技术进行用户信息的收集、处理和存储,以及如何使用SQL语句进行数据库的交互。
实验的背景是假设学生需要为一个简单的社区网站设计用户注册和登录功能。
用户注册时,需要收集用户的基本信息,如用户名、密码、邮箱等,并将这些信息存储到数据库中。
用户登录时,需要验证用户输入的用户名和密码是否与数据库中存储的信息匹配,如果匹配,则允许用户登录。
实验的目的是让学生通过实践,掌握ASP技术的基本使用方法,了解ASP与数据库的交互方式,提高学生解决实际问题的能力。
同时,通过实验,学生也可以加深对于网络安全和数据保护的理解,提高他们在未来工作和学习中处理类似问题的能力。
第二点:ASP实验2的具体内容和步骤本实验的具体内容主要包括以下几个部分:1.设计用户注册和登录界面:学生需要设计一个简洁明了的用户注册和登录界面,包括用户名、密码、确认密码、邮箱等输入框,以及注册和登录按钮。
2.收集用户信息并存储到数据库:学生需要使用ASP技术收集用户在注册界面输入的信息,并将其存储到数据库中。
这里需要使用SQL语句进行数据库的插入操作。
3.验证用户登录信息:学生需要使用ASP技术验证用户在登录界面输入的用户名和密码是否与数据库中存储的信息匹配。
如果匹配,则允许用户登录,否则提示用户登录失败。
4.实现用户注销功能:学生需要实现一个简单的用户注销功能,当用户点击注销按钮时,能够清除用户的登录状态,使用户重新回到登录界面。
