黑河学院ASP.NET程序设计大作业(3)--登录及账号密码的CURD

目录

一、效果:

 二、代码分布:

 三、介绍

四、遇到的问题:


 

一、效果:

a845fc73913945aba5222589ef737f4b.png

df59bc3b808649359216e3da4b9b343c.png

 d452d4abb1744d34907ed6b4e01f4903.png

d1ae3295c3714cb8a640c1614bac4adc.png

 f6e157b475e34c3da75ed8ead8a767ee.png

 二、代码分布:

5c540e4a8f5e478e98052461b480bb0d.png

 三、介绍

1.添加用户

判断是否是管理员,只有管理员才可以对用户进行添加,普通用户则会报错;

添加用户,username是主键,添加时不可以重复;

添加时,需要判断密码和确认密码是否一致。

userAdd.aspx.cs代码为:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admin_userAdd : System.Web.UI.Page
{//实例化
    dataOperate mydo = new dataOperate();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {//判断是否为admin,有权添加用户
        if(Session["username"].ToString()=="admin")
        {//判断密码与确认密码是否相同
            if(pw1.Text==pwd2.Text)
            {
                string sql = "insert into adminss values('"+ username.Text +"','"+ pw1.Text +"','images/"+ FileUpload1.FileName +"')";
                if(mydo.addDeleteUpdataData(sql))
                {
                    Response.Write("<script>alert('添加成功!')</script>");
                    username.Text="";
                    pw1.Text="";
                    pwd2.Text="";
                    //将头像上传指定的images文件夹中
                    FileUpload1.SaveAs(Server.MapPath("images/")+FileUpload1.FileName);
                }
            
            }
            else
            {

                Response.Write("<script>alert('确认密码与密码不相同,请重新输入!')</script>");
            
            
            }
        
        
        }
        else
        {
            Response.Write("<script>alert('你不是admin,无权添加其他用户!')</script>");
        
        }
    }
}

2.删除用户:

需要先获取所有的用户;

删除时判断是否是管理员权限,只有管理员可以进行删除;

删除时判断删除的是否为管理员,自己不能删除自己;

删除后页面重新加载一次,更新数据。

userdelete.aspx.cd代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admin_userdelete : System.Web.UI.Page
{//实例化
    dataOperate mydo = new dataOperate();
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            bindtogriview1();
        }

    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        if(Session["username"].ToString()=="admin")
        {
            string sql = "delete from adminss where username='"+ GridView1.DataKeys[e.RowIndex].Value +"'";
            if(mydo.addDeleteUpdataData(sql))
            {
                Response.Write("<script>alert('删除成功!')</script>window.location.href='userdelete.aspx'");
            
            }
        }
        else
        {
            Response.Write("<script>alert('你不是admin,无权删除其他用户!')</script>");
        
        }


    }
    protected void bindtogriview1()
    {
        string sql = "select * from adminss where username not like 'admin'";
        GridView1.DataSource = mydo.rows(sql,"guanliyuan11").DefaultView;
        GridView1.DataBind();
    
    
    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}

3.修改密码:

修改时判断是否为管理员,管理员可以修改所有用户的密码;

修改时普通用户只能修改自己的密码;

修改时需要将用户名和原始密码与数据库中的信息进行比较,一致的话,才可以进行修改;

修改之后提示,修改成功,并且退出登录,重新登录。

yonghuxiugai.aspx.cs代码为:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;

public partial class admin_userxiugai : System.Web.UI.Page
{
    dataOperate mydo = new dataOperate();
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (Session["username"].ToString() == "admin")
        {

            //username.Text = Session["username"].ToString();
            if (pw2.Text == pw3.Text)
            {
                string sql = "select * from adminss where username='" + usern.Text + "' and password='" + pw1.Text + "'";
                OleDbDataReader dr = mydo.row(sql);
                if (dr.Read())
                {
                    string sql1 = "update adminss set [password]='" + pw2.Text + "' where [username] ='" + usern.Text + "'";
                    if (mydo.addDeleteUpdataData(sql1))
                    {
                        Response.Write("<script>alert('修改成功')</script>");

                    }

                }
                else
                {

                    Response.Write("<script>alert('密码不正确')</script>");
                }

            }
            else
            {
                Response.Write("<script>alert('密码不符')</script>");

            }

        }
         //  普通用户登录,只能修改自己的密码
        else if (Session["username"].ToString() == usern.Text)
        {
            if (pw2.Text == pw3.Text)
            {
                string sql = "select * from adminss where username='" + usern.Text + "' and password='" + pw1.Text + "'";
                OleDbDataReader dr = mydo.row(sql);
                if (dr.Read())
                {
                    string sql1 = "update adminss set [password]='" + pw2.Text + "' where [username] ='" + usern.Text + "'";
                    if (mydo.addDeleteUpdataData(sql1))
                    {
                        Response.Write("<script>alert('修改成功,请重新登录');top.location='login.aspx';</script>");                       
                        //Response.Redirect("login.aspx");
                    }

                }
                else
                {

                    Response.Write("<script>alert('密码不正确')</script>");
                }

            }
            else
            {
                Response.Write("<script>alert('密码不符')</script>");

            }
        }

        else
        {
            Response.Write("<script>alert('你不是admin或者本人,无权修改别人的密码!')</script>");

        }

    }
}

四、遇到的问题:

1.问题:修改密码的时候,修改完之后,数据库中的信息并不能及时修改,也没有修改成功

解决办法:更新数据库语句有错误,表名写错(太粗心啦)

update adminss set [password]='" + pw2.Text + "' where [username] ='" + usern.Text + "'

2.问题:修改密码时,一直报密码不正确错误,就是无法修改成功。

解决办法:多次查找,发现从数据库中获取到的数据不正确,只能获取到登录者的账号密码,所以只能修改自己的账号密码,将username.Text = Session["username"].ToString();代码删除,即可实现修改其他用户。随之又带来问题3.

3.问题:所有人都可以修改其他用户的信息,

解决办法:在修改之前先获取一下当前登录者的账号,判断是管理员还是普通用户,管理员可以修改,普通用户则只能修改自己的账号密码。

4.问题:修改之后退出登录,重新登录时,退出之后地址栏依旧是admin页面,但是中心部分已经换成了登录页,从中心部分进入之后就是嵌套页面 

1f16ccdbb2194133a024ac3fd94c5471.png

18ba14dc3e274c4981e1db305d634d11.png

 解决办法:

使用 top.location='xx.aspx'; 这条即可,之前用的是  Response.Redirect("login.aspx");这条语句。

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 C#课程设计-基于ASP.NET的学生管理信息系统源码+sql数据库+项目说明.zip C#课程设计-基于ASP.NET的学生管理信息系统源码+sql数据库+项目说明 - 基于C#的学生管理信息系统,ASP.NET+SQL Server+Layui,包含sql文件 - 本系统前后端不分离 - 前端使用LayUI(开源模块化前端 UI 框架 ) - 后端使用ASP.NET - 数据库使用SqlServer - 普通用户进入本系统直接进入`index.aspx`页面,不需要登录,可以查看班级信息、学生信息、成绩信息。在详情页面可以根据各个字段进行筛选,对数据进行二次过滤查询。 - 管理员用户使用`/admin.aspx`页面进行登录,默认用户名密码为`admin`,登录成功之后可以对学生进行CURD增删改查的基本操作。在添加信息时对用户输入的数据通过正则表达式进行检测是否合法,如果合法就可以成功添加,否则失败,并在页面提示用户数据非法。 - 首页 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值