danijoon
دوشنبه 22 شهریور 1389, 19:03 عصر
سلام
من یک سیستم آمار سایت پیدا کردم که این تا بیست دقیقه درست کار می کنه اما بعدش(اتمام سیشن تام اوت)ریست میشه
تو گلوبال :
void Application_Start(object sender, EventArgs e)
{
Application["uo"] = 0;
Application["ut"] = 0;
Application["utoday"] = 0;
// Code that runs on application startup
}
void Session_Start(object sender, EventArgs e)
{
//klole bazdidha
int j = int.Parse(Application["ut"].ToString()) + 1;
Application["ut"] = j;
//online
int i =int.Parse( Application["uo"].ToString()) + 1;
Application["uo"] = i;
//emruz
int k = int.Parse(Application["utoday"].ToString()) + 1;
Application["utoday"] = k;
//logins
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
int i = int.Parse(Application["uo"].ToString()) - 1;
Application["uo"] = i;}
تو مستر پیجم:
protected void Page_Load(object sender, EventArgs e)
{
تاریخ ورودstring aa = DateTime.Now.Day.ToString();
string bb = Application["ut"].ToString();
string cc = Application["utoday"].ToString();
Label1.Text = aa;
Label2.Text = bb;
Label3.Text = cc;
Label6.Text = Application["uo"].ToString();
واسه نشون دادن ریختم تو لیبل
اینجا من مقادیر رو میریزم تو دیتا بیس:
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectAr guments.Empty);
if (dv.Table.Rows.Count > 0)
{
string sa = dv.Table.Rows[0]["lasthit"].ToString();
if (sa != aa)اگر مقادیر برابر نبود یعنی مقدار قبلی ماله دیروزه . واسه کاربران امروز
{
Application["utoday"] = "1";
SqlDataSource1.Update();
(تو دستور آپدیتش:
UpdateCommand="UPDATE useronline SET lasthit = @a, hits = @b, todayhit = @c"
<UpdateParameters>
<asp:ControlParameter ControlID="Label1" Name="a" PropertyName="Text" />
<asp:ControlParameter ControlID="Label2" Name="b" PropertyName="Text" />
<asp:ControlParameter ControlID="Label3" Name="c" PropertyName="Text" />
(
}
else
{
SqlDataSource1.Update();
}
}
من یک سیستم آمار سایت پیدا کردم که این تا بیست دقیقه درست کار می کنه اما بعدش(اتمام سیشن تام اوت)ریست میشه
تو گلوبال :
void Application_Start(object sender, EventArgs e)
{
Application["uo"] = 0;
Application["ut"] = 0;
Application["utoday"] = 0;
// Code that runs on application startup
}
void Session_Start(object sender, EventArgs e)
{
//klole bazdidha
int j = int.Parse(Application["ut"].ToString()) + 1;
Application["ut"] = j;
//online
int i =int.Parse( Application["uo"].ToString()) + 1;
Application["uo"] = i;
//emruz
int k = int.Parse(Application["utoday"].ToString()) + 1;
Application["utoday"] = k;
//logins
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
int i = int.Parse(Application["uo"].ToString()) - 1;
Application["uo"] = i;}
تو مستر پیجم:
protected void Page_Load(object sender, EventArgs e)
{
تاریخ ورودstring aa = DateTime.Now.Day.ToString();
string bb = Application["ut"].ToString();
string cc = Application["utoday"].ToString();
Label1.Text = aa;
Label2.Text = bb;
Label3.Text = cc;
Label6.Text = Application["uo"].ToString();
واسه نشون دادن ریختم تو لیبل
اینجا من مقادیر رو میریزم تو دیتا بیس:
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectAr guments.Empty);
if (dv.Table.Rows.Count > 0)
{
string sa = dv.Table.Rows[0]["lasthit"].ToString();
if (sa != aa)اگر مقادیر برابر نبود یعنی مقدار قبلی ماله دیروزه . واسه کاربران امروز
{
Application["utoday"] = "1";
SqlDataSource1.Update();
(تو دستور آپدیتش:
UpdateCommand="UPDATE useronline SET lasthit = @a, hits = @b, todayhit = @c"
<UpdateParameters>
<asp:ControlParameter ControlID="Label1" Name="a" PropertyName="Text" />
<asp:ControlParameter ControlID="Label2" Name="b" PropertyName="Text" />
<asp:ControlParameter ControlID="Label3" Name="c" PropertyName="Text" />
(
}
else
{
SqlDataSource1.Update();
}
}