:无。
5)FunctionCheckreferer()
功能:检查用户所访问的上一页是否是本站页面。
输入参数:无。
输出参数:如果是,返回true;
如果不是,返回false.
6)FunctionGetuserID()
功能:取得用户唯一标识数字,如未登录,则定向至错误处理中。
输入参数:无。
输出参数:如未登录,跳出该页面。无返回。
如已登录,返回用户唯一标识数字。
4.4用户注册模块
4.4.1访问数据库的准备
1)建立数据源
建立ODBC数据源,如图4.4.1-1所示,选择SQLServer作为驱动程序。
图4.4.1-1添加数据源对话框
2)配置数据源
在此不详述配置过程,仅列出配置完后的数据源信息,如图4.4.1-2所示。
图4.4.1-2新建数据源信息
4.4.2登陆首页的制作
网站为客户提供一定的服务,那么客户也必须履行一定的职责和义务。所以在客户注册时,网站首先得给出相应的条文,要客户同意了这些条文才可以注册。以下便是登陆首页的制作过程:
启动Dreamweaver,选择Main这个模板。
将其存于/Ebusiness/User/register1.htm中。
然后再可编辑区中更改各项内容。
在文本域中写出用户注册协议。
插入两个超链接"我同意-register2.htm"、"我不同意-../main.htm",最后结果如图4.4.2-1所示。
图4.4.2-1网站登陆首页
4.4.3收集用户的个人信息
客户同意了注册后,就可以进行基本资料的输入了。按输入提示属项输入,基本每一项都有其一定的填写格式或要求,填写不正确,在提交表单后系统会自动显示出错提示。以下为制作过程和表单填写属性:
这一步也是先建一个网页同register1.htm一样,从模板Main新建一个注册页。
将其存于/Ebusiness/User/register2.asp中。
制作加入收集用户资料的表单
步骤一:在Dreamweamer中插入一个Form,将Form的Action设置为register2.asp,Method设为POST。
步骤二:在Form中使用Table将空白区域分割成一定的小区域,供各个输入框放置。
步骤三:再插入若干个文本输入框、密码输入框和复选框。
步骤四:将文本输入框、密码输入框和复选框命名。
请选择一个用户名:用户在本电子商务网站里的唯一身份标识。最长字符数是30个。
该输入框名字设为ID。
请选择一个密码:辅助用户身份认证,只有同时拥有用户名和密码,才能以该用户身份登录本网站。最长字符数是30个。
该输入框名字设为password。
请再输入一次确认:为了防止用户意外疏忽输入密码时,击错了键,而导致一系列的麻烦,要求用户再次输入,予以确认。最长字符数是30个。该输入框名字设为ID。
该输入框名字设为password2。
密码提示问题: 当用户忘记了自己的密码;如果还记得密码提示问题的答案,仍可向网站请求,提示密码。最长字符数是30个。该输入框名字设为Question。
提示问题的答案:密码提示问题的答案。最长字符数是30个。
该输入框名字设为Answer。
用户详细资料:
真实最长字符数是30个。该输入框名字设为Name。
性别: 用户性别,该输入框名字设为Sex。
身份证号码: 用户身份证号码。至少15位数字。
该输入框名字设为IDCardNo。
详细地址: 用户详细地址,最长字符数是50个。该输入框名字设为Address。
电子邮件地址: 用户电子邮件地址。最长字符数是30个。该输入框名字设为Email。
电话号码: 用户电话号码,最长字符数是30个。该输入框名字设为Telephone。
信用卡类型: 用户信用卡类型,最长字符数是30个。该输入框名字设为CreditType。
信用卡号码: 用户信用卡号码,最长字符数是30个。该输入框名字设为CreditNo。
用户的兴趣爱好:网站收集用户兴趣爱好的信息,可以将用户所爱好类别的新商品推荐给用户,发送到用户电子邮箱中。 输入框名字设为Interest。
输入包括若干个复选输入控件,这些复选框使用同一个名字,在提交这个
表单时,形成一组同名多值数据集,供Asp程序使用。但在本例中使用客
户端脚本将这些复选框的状态转化为单一的二进制数据,提交到服务器
端。
一个隐藏框:名字设为Favorite,用于将复选框的状态转化为单一的二进制数据后,
保存这个数据的。
4.4.4检查用户输入正确性,添加脚本
编写好登录的HTML页面,用JavaScript语言编写一个简单的程序,对用户输入Form中的信息进行一些必要的检查,以获得必要的用户信息。
CheckForm函数在HTML代码中有定义,this是指向名为theForm表单对象的引用。
如果CheckForm函数返回true,提交动作继续;
如果CheckForm函数返回false,提交动作停止;
CheckForm函数是这样的:
functionCheckForm(theForm)
{
'REM程序功能模块1
varnFavorite=0;
for(i=0;i
如果用户已登录,显示欢迎信息,包括用户名字、
性别和上次访问时间。
>如果用户尚未登录,提示用户登录
>对于第一次来本站的访问者,提示他注册。
用户中心首页及基本功能如图4.5-1所示,在此页面中,未注册的客户可以注册。已注册的客户可以直接登录,并且修改资料及密码如果忘了密码可以通过提问,等待验证后可取回密码。如果客户已购物也可查看其购物车,确认信息,顾客想离开网站可选择注销。
图4.5-1用户中心首页
用户中心首页要完成以上功能可以靠以下ASP代码来实现:
欢迎访问Asp电子商务网站
<%
IfIsEmpty(Session("User_ID"))OrSession("User_ID")<>""Then
%>
你是<%=Session("User_Name")%>
<%=Session("User_Sex")%>
你是第<%=Session("User_Visit_Times")%>次访问本站
你上次访问的时间是<%=Session("User_Last_Visit_Time")%>
<%
Else
%>
你尚未登录,只能浏览商品,不能定购。
请先登陆,如果您还未注册,须先注册
<%
EndIf
%>
1)"用户信息"页中,程序查到该用户的记录后,逐个字段访问输出,
在网页的表格中使用<%=Rs("字段名")%>输出该记录的各字段的值。
对于User_Favorite字段的值可以使用JavaScript程序
转化为复选框状态。
'REM将User_Favorite数据输出
varnFavorite=<%=Rs("User_Favorite")%>;
for(i=document.all.Interest.length-1;i>=0;i--)
{
document.all.Interest(i).checked=((nFavorite%2==1)?true:false)
document.all.Interest(i).disabled=true
nFavorite=(nFavorite-(nFavorite%2))/2;
}
2)"修改资料"页中,仿照建立UserInfo.asp的过程,建立ModifyInfo.asp。
不同之处在于可编辑区域main中的内容。在UserInfo.asp中Rs("字段名")的值直接输出,而在ModifyInfo.asp中除了用户名一项以外,Rs("字段名")的值必须输出到标签中。
例:
">
这样将输入框的初始值设为Rs("字段名"),用户就可以在原资料
的基础上再进行更改。另外,在后者代码中,必须加入一个Form
表单Action设为ModifyInfo_Apply.asp,用于提交时,携带数据。
在提交时,也必须像register2.htm处理一样,使用
onsubmit="CheckForm(this)"判断用户输入的正确性。
3)"修改密码"页中,首先,取得用户的唯一标识数字;并且判断用户输入的两个密码是否一样,若不一样,引发wsecPassword异常。然后访问数据库,查出当前用户的密码,比较判断用户输入的旧密码和这个密码是否一样,若不一样,引发wsecLogonWrongPassword异常;若一样,更新数据库,将新密码覆盖原密码。成功后,引发成功信号wsscModifyMM。
-->
<%@Language=VBScript%>
<%
OldPassword=Request.Form("OldPassword")
NewPassword=Request.Form("NewPassword")
NewPassword2=Request.Form("NewPassword2")
ID=GetUserID()
IfNewPassword<>NewPassword2Then
ReturnErrorPagewsecPassword
EndIf
SetDataCon=Server.CreateObject("ADODB.Connection")
SetRs=Server.CreateObject("ADODB.Recordset")
DataCon.ConnectionTimeout=20
DataCon.Open"DSN=EBusiness","EBAdmin","111111"
SQLQuery="Select*FromCustom
上一篇:基于ASP动态旅游网站设计(元源码)(论文和程序)
下一篇:村落共同体的核心架构研究