17 SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["bag"].ToString());
18
19 protected void Page_Load(object sender, EventArgs e)
20 {
21
22 }
23 protected void btnGiris_Click(object sender, EventArgs e)
24 {
25 cnn.Open();
26 string kullanici = txtUserName.Text.Trim();
27 string sifre = txtPass.Text.Trim();
28 SqlCommand cmd = new SqlCommand("Select * From Users where User_Name = '" + kullanici + "' and Password='"+sifre+"'",cnn);
29 SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
30 if (dr.Read())
31 {
32 Session["user_id"] = dr["User_ID"].ToString();
33 dr.Close();
34 UpdateLoginTime();
35 }
36 cnn.Close();
37 Response.Redirect("Default.aspx");
38 }
39
40 private void UpdateLoginTime()
41 {
42 cnn.Open();
43
44 DateTime dt=DateTime.Now.AddMinutes(10);
45 SqlCommand cmd2 = new SqlCommand("UPDATE Users set Last_Login_Date=@mydate where User_ID=@user_id ", cnn);
46 cmd2.Parameters.AddWithValue("@mydate", dt);
47 cmd2.Parameters.AddWithValue("@user_id", Int32.Parse(Session["user_id"].ToString()));
48 cmd2.ExecuteNonQuery();
49 cnn.Close();
50
51
52 }
MasterPage kodları.
Master pagenin html koduna bir adet asp label ekleyelim ID sini de lblOnlineUsers yapalım.
Şimidi master pagedeki kodlara bakalım. Burarda veritabaından online olan üyeleri getireceğiz ve sitedeki üyenin session daki değeri boş değilse veritababında o üyeye ayit tarih alanını 10 dk. İleri alacğız
17 SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["bag"].ToString());
18
19 protected void Page_Load(object sender, EventArgs e)
20 {
21 GetOnlineUsers();
22 UpdateDate();
23
24 }
25
26 private void UpdateDate()
27 {
28 if (Session["user_id"] != null)
29 {
30 cnn.Open();
31
32 DateTime dt = DateTime.Now.AddMinutes(10);
33 SqlCommand cmd2 = new SqlCommand("UPDATE Users set Last_Login_Date=@mydate where User_ID=@user_id ", cnn);
34 cmd2.Parameters.AddWithValue("@mydate", dt);
35 cmd2.Parameters.AddWithValue("@user_id", Int32.Parse(Session["user_id"].ToString()));
36 cmd2.ExecuteNonQuery();
37 cnn.Close();
38 }
39 }
40
41 private void GetOnlineUsers()
42 {
43 lblOnlineUsers.Text = "";
44 cnn.Open();
45 SqlCommand cmd = new SqlCommand("Select * FROM Users Where Last_Login_Date >@tarih ", cnn);
46 cmd.Parameters.AddWithValue("@tarih", DateTime.Now);
47 SqlDataReader dr = cmd.ExecuteReader();
48 lblOnlineUsers.Text = "<b>Online Üyeler</b> <br>";
49 while (dr.Read())
50 {
51 lblOnlineUsers.Text += dr["User_Name"].ToString() + "<br>";
52 }
53 cnn.Close();
54 }
Görüşmek Üzere