using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DTable_App.register
{
	/// <summary>
	/// login 的摘要说明。
	/// </summary>
	public class login : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.TextBox yhm;
		protected System.Web.UI.WebControls.TextBox mm;
		protected System.Web.UI.WebControls.Button login_send;
		protected System.Web.UI.WebControls.TextBox yzm;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			//Page.Response.Write(sharecode.GetSessionValue(sharecode.strFromUrlSName));
			// 在此处放置用户代码以初始化页面
			if(!Page.IsPostBack)//如果是初始化
			{
				if(sharecode.GetQueryStringValue("userid")!="")//如果有传入的用户名
				{
					yhm.Text=sharecode.GetQueryStringValue("userid");
				}
				else
				{
if(sharecode.GetCookieValue(sharecode.strUserNameCookieName)!="")//如果有历史的用户名和密码
				{
				yhm.Text=sharecode.GetCookieValue(sharecode.strUserNameCookieName);
	           
				}
					if(sharecode.GetCookieValue(sharecode.strPassWordCookieName)!="")//如果有历史的用户名和密码
					{
					
						mm.Attributes.Add("value",sharecode.GetCookieValue(sharecode.strPassWordCookieName));			
						

					}
				}
				string stryzm=sharecode.GetRndPassword(6);//获取验证码
				yzm.Text=stryzm;
				yzm.ReadOnly=true;
				System.Web.HttpContext.Current.Session["login_yzm"]=stryzm; 
				
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.login_send.Click += new System.EventHandler(this.login_send_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void login_send_Click(object sender, System.EventArgs e)
		{
			string stryhm=yhm.Text;
			string strmm=mm.Text;
			string stryzm=yzm.Text;
			string strls=sharecode.GetFormValue("ls");
			if(stryhm.Length <5)
			{
sharecode.OutMsgBox("用户名不能少于5个字符",true);
			}
			if(stryhm.Length>25)
			{
				sharecode.OutMsgBox("用户名不能多于25个字符",true);

			}
			if(strmm.Length!=32)//如果密码不是读入的cookies的密码,就验证
			{
				if(strmm.Length<5)
				{
					sharecode.OutMsgBox("密码不能少于5个字符",true);
				}
				if(strmm.Length>25)
				{
					sharecode.OutMsgBox("密码不能多于5个字符",true);

				}
			}
			string strthisyzm=sharecode.GetSessionValue("login_yzm");//获取验证码
			
			if(strthisyzm!=stryzm)
			{
				sharecode.OutMsgBox("请刷新页面再进行登录",true);

			}
			if(!sharecode.CheckUserLogin(stryhm,strmm)) 
			{
				sharecode.OutMsgBox("该用户不存在或密码错误",true);

			}
			System.Web.HttpContext.Current.Session["login_yzm"]=null;
	

			if(strls!="0")//如果要保存密码
			{

                Page.Response.Cookies[sharecode.strUserNameCookieName].Value=stryhm;//写入用户名
				Page.Response.Cookies[sharecode.strUserNameCookieName].Expires =System.DateTime.Now.AddDays(int.Parse(strls));//设置用户名的存活期限
				if(strmm.Length!=32)//如果密码不是32位的,就需要md5编码
				{
					Page.Response.Cookies[sharecode.strPassWordCookieName].Value =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strmm,"md5");
					
				}
				else//不编码密码
				{
					Page.Response.Cookies[sharecode.strPassWordCookieName].Value=strmm;
				}

				Page.Response.Cookies[sharecode.strPassWordCookieName].Expires =System.DateTime.Now.AddDays(int.Parse(strls));//写入密码的存活期
 
			}
			System.Web.HttpContext.Current.Session["login_yzm"]=null;

			if(sharecode.GetCookieValue(sharecode.strFromUrlSName)!="")//如果记录了返回的链接地址
			{
				Page.Response.Redirect(sharecode.GetCookieValue(sharecode.strFromUrlSName));
			}
			else//否则就返回首页
			{
				Page.Response.Redirect("../");
			}

		}

		
	}
}
