Login.aspx using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DBHelper;
using MySql.Data.MySqlClient; public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie hc = null;
if (Request.Cookies["LoginCookie"] != null)
{
hc = Request.Cookies["LoginCookie"];
this.TextBox1.Text = hc["username"];
this.TextBox2.Text = hc["password"]; Session.RemoveAll();
} }
}
protected void Button2_Click(object sender, EventArgs e)
{
string username = this.TextBox1.Text;
string password = this.TextBox2.Text; string sql = "select id,name,password from login where name=@username and password=@password";
MySqlParameter p1 = new MySqlParameter("@username", username);
MySqlParameter p2 = new MySqlParameter("@password", password);
MySqlParameter[] pa = new MySqlParameter[] { p1, p2 };
MySqlDataReader dr = SqlHelper.ExecuteReaderText(sql, pa);
while (dr.Read())
{
//cookie
HttpCookie hc = new HttpCookie("LoginCookie");
hc["id"] = dr[0].ToString();
hc["username"] = dr[1].ToString();
hc["password"] = dr[2].ToString();
hc.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(hc);
//session
LoginSession Lseiion = new LoginSession();
Lseiion.id = dr[0].ToString();
Lseiion.name = dr[1].ToString();
Session["LoginSession"] = Lseiion; Response.Redirect("Default.aspx"); }
Response.Write("<script>alert('密码错误');location.href='Login.aspx'</script>");
}
}
图片上传 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using MySql.Data.MySqlClient;
using DBHelper;
public partial class ImageUpload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ if (Session["LoginSession"] == null)
{
Response.Redirect("Login.aspx");
} }
}
protected void Button1_Click(object sender, EventArgs e)
{
string FileName = FileUpload1.PostedFile.FileName;
string File_Abbr = Server.MapPath("images/");//路径
string extion = Path.GetExtension(FileName);//格式
if (extion != ".jpg")
{
Response.Write("<script>alert('您上传的格式不正确')</script>");
}
else
{ if (!Directory.Exists(File_Abbr))
{
Directory.CreateDirectory(File_Abbr);
} string NameTime = DateTime.Now.Ticks.ToString() + extion;
FileUpload1.SaveAs(File_Abbr + NameTime);
string sql = "insert into img(imgpath)values(@paths)";
MySqlParameter[] pa = new MySqlParameter[] { new MySqlParameter("@paths", File_Abbr + NameTime) };
int i = SqlHelper.ExecteNonQueryText(sql, pa);
if (i > 0)
{
this.Image1.ImageUrl = @"./images/" + NameTime;
Session["IsSubmit"] = true;
Response.Write("<script>alert('文件上传成功')</script>");
}
else
{
Response.Write("<script>alert('文件上传失败')</script>");
} } }
}
在线统计 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Online : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{ if (Session["LoginSession"] == null)
{
Response.Redirect("Login.aspx");
} }
}
protected void Button1_Click(object sender, EventArgs e)
{ Response.Write("当前在线人数为:" + Application["count"]);
}
}
应用配置
<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
Application["count"] = 0; } void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
Application.Lock();
Application["count"] = (int)Application["count"] + 1;
Application.UnLock(); } void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["count"] = (int)Application["count"] -1;
Application.UnLock(); } </script>
<?xml version="1.0"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="con" value="Server=localhost;Database=cjp;Uid=root;Pwd=;charset=utf8;allow zero datetime=true"/> </appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="403.htm" />
<error statusCode="404" redirect="404.htm" />
</customErrors>
<sessionState timeout="300" mode="InProc" /> </system.web> </configuration>
1、登录页面Login.aspx
① 页面加载 ,如果存在用户cookie,那么将cookie中的内容还原到用户名和密码上,
将存在的session全部删除
② 点击登录按钮,数据库验证用户名 和 密码 ,通过后保存cookie,session,然后跳转到主页面Index.aspx
2、主页面使用Menu控件作为菜单导航
3、使用页面导航菜单Menu导航到图片上传页面ImageUpload.aspx,session如果不存在或已经过期则跳转到登录页面,将图片上传文件上传到的网站路径image文件夹下,上传成功后,图片在页面上用image控件显示出来。
图片信息需要保存到数据库
4、使用页面导航菜单Menu导航到 在线人数统计页面Online.aspx ,session如果不存在或已经过期则跳转到登录页面,在Online.aspx 中显示一下当前在线人数