需要本作品请加作者QQ452394966购买,保证原创,谢谢!青岛农业大学理学与信息科学学院《动态网站设计》课程论文姓名:学院:专业:班级:学号:教师:项目功能完成(70分)代码书写规范(10分)论文书写规范(20分)总分2015年07月06日一、需求分析本程序包括注册页面(Default.aspx)、登陆界面(login.aspx)、个人爱好界面(gerenaihao.aspx)以及个人简介界面(gerenjianjie.aspx),共计4个界面。下面简单的介绍一下各个界面。其中注册界面利用代码与SqlServer数据库相连,输入个人信息点击注册后,判断各输入框是否为空以及两次输入的密码是否一致,判断验证码当所有的条件满足时将注册信息写入数据库表中,否则将显示对应的提示,要求重新输入!同时,本网站利用session,记住账号与密码,再次登录的时候将账号密码自动填充到登录界面的相应位置,简化了用户操作,提高了页面的实用性。登录界面有账号输入框与密码输入框以及验证码三个输入框,当用户是第一次打开该界面时,判断session是否有记录,若有,则将记录填入对应位置,如没有,则自行行输入。点击登录按钮后,首先进行验证码判断,输入正确则将输入的账号在数据库中进行检索,看数据库中是否拥有该账号,若存在,则逐行进行密码扫描,若有与该账号相对应的密码,则显示登陆成功并进入个人爱好界面,反之则重新进行输入。再次进行判断!在登录页面与注册页面上都有跳转到另一个界面的快速链接,这样可以方便用户随时进行不同的操作。个人简介是利用代码连接数据库,将数据库的内容进行导入导出。首先利用session记住注册的信息,然后将其从数据库中导出并显示在个人简介页面,若没有session记录,则无法显示。由于该页面是与数据进行链接,而数据库中的字段较少,所以该页面的内容也较为简单。个人爱好页面则是一个简单的静态页面,没有与数据库进行链接。大体的进行了一下排版,显示了一下网站设计者的个人爱好。在首页上有个人简介与个人爱好界面的链接,但是当你未注册或者登陆的时候点击该链接,会显示未注册(未登录)的错误,然后自动返回注册(登陆)界面,其原理如下:在登陆或者注册成功时,会用session记住登陆(注册)信息,点击个人简介或者个人爱好时判断session是否为空,若为空则显示错误,反之则进入该页面。各模块之间的关系流程图如下:是否否是否是开始是否拥有账号点击“登录”进行登录输入个人信息进行注册各输入框是否为不为空,两次密码输入是否一致重新注册进入个人简介界面用户名、密码、验证码是否正确进入个人爱好界面重新输入结束二、程序代码页面加载时运行的代码是位于Page_Load函数里面的内容,在注册页面中,该函数内容如下:if(!Page.IsPostBack)//判断是否为首次加载{do{yanzheng.Create();//保证验证码长度为4位}while(yanzheng.SN.Length!=4);}在登录页面中,该函数的代码如下:if((string)Session[zcname]!=null&&(string)Session[zcpwd]!=null)//判断session是否为空{loginname.Text=(string)Session[zcname];//填充相应的session内容loginpwd.Text=(string)Session[zcpwd];}elseif((string)Session[rloginname]!=null&&(string)Session[rloginpwd]!=null){loginname.Text=(string)Session[rloginname];loginpwd.Text=(string)Session[rloginpwd];}else{if(!Page.IsPostBack){do{SN1.Create();//保证验证码长度为4}while(SN1.SN.Length!=4);}}在个人简介和个人爱好页面该函数的内容是一样的,内容如下:if(!Page.IsPostBack)//判断是否为注册(登陆)就进入了该页面{if((string)Session[zcname]==null&&(string)Session[zcpwd]==null&&(string)Session[rloginname]==null&&(string)Session[rloginpwd]==null){Response.Write(scriptalert('您还没有注册(登陆),请先进行注册(登陆)后再使用!谢谢合作!!');window.location.href='Default.aspx';/script);}}注册的具体代码如下(该段代码实现了将输入到注册页面文本框里的内容写入数据库的作用)://定义字符串变量StringstrName=zcname.Text.Trim();StringstrPwd=zcpwd.Text.Trim();StringstrData=(string)zcdate.Text.Trim();//创建数据库连接SqlConnectionconn=newSqlConnection(DataSource=.;InitialCatalog=myintroduce;IntegratedSecurity=true);conn.Open();//打开连接Stringsql1=insertintousers(name,password,birthday)values('+strName+','+strPwd+','+strData+');SqlCommandcmd=newSqlCommand(sql1,conn);cmd.ExecuteNonQuery();//更新数据库conn.Close();Session[strname]=strName;//session记录if(CheckBox1.Checked){//session记录,为登陆界面的填充做准备Session[zcname]=strName;Session[zcpwd]=strPwd;}Response.Write(scriptalert('注册成功!');window.location.href='gerenjianjie.aspx';/script);登陆页面的代码如下(该段代码实现了用户的登陆):StringstrName=loginname.Text.Trim();StringstrPwd=loginpwd.Text.Trim();//创建数据库连接SqlConnectionconn=newSqlConnection(DataSource=.;InitialCatalog=myintroduce;IntegratedSecurity=true);conn.Open();//打开连接StringSql=selectname,passwordfromuserswherename='+strName+';SqlCommandcmd=newSqlCommand(Sql,conn);//第一个是代表sql语句第二个是代表该命令在哪个连接上执行SqlDataReaderreader=cmd.ExecuteReader();//执行查询if(reader.HasRows)//根据用户名查询出的结果是输入的用户名是存在的{while(reader.Read())//逐行读取密码{if(reader[password].ToString()==strPwd){if(CheckBox1.Checked)//记住我是否选中{//利用session记住登陆的信息Session[rloginname]=strName;Session[rloginpwd]=strPwd;}Response.Write(scriptalert('登陆成功!');window.location.href='gerenaihao.aspx';/script);}else//登陆不成功{Response.Write(scriptalert('您输入的密码不正确!')/script);loginname.Text=null;loginpwd.Text=null;loginSN.Text=null;do{SN1.Create();}while(SN1.SN.Length!=4);}}}else{Response.Write(scriptalert('您输入的用户名不正确!')/script);loginname.Text=null;loginpwd.Text=null;loginSN.Text=null;do{SN1.Create();}while(SN1.SN.Length!=4);}}个人简介界面的导出代码如下(该段代码实现了将数据库内容的导出):SqlConnectionconn=newSqlConnection(DataSource=.;InitialCatalog=myintroduce;IntegratedSecurity=true);//创建数据库链接conn.Open();//打开连接Stringname1=(string)Session[strname];Stringsql=select*fromuserswherename='+name1+';//查询表中所有数据SqlCommandcmd=newSqlCommand(sql,conn);//第一个是代表sql语句第二个是代表该命令在哪个连接上执行SqlDataReaderreader=cmd.ExecuteReader();//执行查询if(reader.HasRows){reader.Read();//读取到的内容填充到相应的位置Label1.Visible=true;Label2.Visible=true;Label3.Visible=true;Label1.Text=reader[name].ToString();Label2.Text=(string)reader[birthday].ToString();Label3.Text=reader[id].ToString();}此外,还有判断验证码是否输入正确的代码如下:if(!yanzheng.CheckSN(this.zcyanzheng.Text))//判断验证码是否输入正确{Response.Write(scriptalert('您输入的验证码不正确!!')/script);zcyanzheng.Text=null;do{yanzheng.Create();//保证验证码长度为4}while(yanzheng.SN.Length!=4);}三、运行界面截图及文字说明注册页面,实现用户注册,该页面有跳转到登陆界面的快捷链接,有记住我选项,验证码自动生成,日期框利用第三方插件,用日历插件进行选择日期,防止输入格式错误,在注册页面中每个输入框都有非空验证,再次输入密码的输入框还有比较验证。注册成功后会显示注册成功的弹出框,提示用户注册成功!图3-1主页面(注册页面)图3-2注册成功界面登陆界面用于用户登录,输入账号密码以后检索数据库中是否有相对应的账号与密码,存在则进入个人爱好界面,不存在则显示登录失败并进入注册界面!图3-3登陆页面图3-4登陆成功界面注册成功后,session自动记住注册的账号图3-5session记住账号图3-6个人简介界面图3-7个人爱好页面图3-8未注册就进入个人爱好(简介)的错误提示四、小结(1)在设计过程中出现那些问题,怎么解决的?在此次课程设计过程中,遇到了大大小小很多的问题,我总结了一下,主要有以下几点:1.使用日历控件时,显示的格式不对,亦或是无法显示。解决措施:经过查询上课笔记,从网上查询资料,看使用说明,终于把四个参数都改对了,并且哪个该有引号哪个没有也搞明白了。2.在注册界面