记录页面访问者的信息
来源:互联网 发布:动态血压仪数据怎么看 编辑:程序博客网 时间:2024/05/22 00:31
文章访问的历史记录 创建:章学敏 2007-06-16#region 文章访问的历史记录 创建:章学敏 2007-06-16
/**//// <summary>
/// 获取文章的最新浏览用户
/// 章学敏
/// 2007-6-16
/// </summary>
/// <param name="articleID">文章ID</param>
/// <param name="userID">用户ID</param>
/// <returns></returns>
public IList<Forum_AuthorInfo> GetLastViewers(string articleID,string userID)
...{
IList<Forum_AuthorInfo> lastViewer = new List<Forum_AuthorInfo>();
//如果是匿名用户,则不更新浏览记录
if (Convert.ToInt32(userID) == 0)
...{}
else
...{
UpdateLastViewer(userID, articleID);
}
string users = GetLastViewUsers(articleID);
if (string.IsNullOrEmpty(users))
...{
lastViewer = null;
}
else
...{
string[] userlist = users.Split(',');
for (int i = userlist.Length - 1; i >= 0; i--)
...{
SqlDataReader sdr = null;
int UserID = Convert.ToInt32(userlist[i]);
SqlParameter param = MakeSqlInParameter(POST_USERID, UserID);
sdr = RunReaderProcedure("Forum_GetAuthorInfoByAuthorID", param);
while (sdr.Read())
...{
lastViewer.Add(new Forum_AuthorInfo(sdr.GetInt32(0), "1", "1", sdr.GetString(1), "1", sdr.GetString(2), "1", "1",
"1", "1", "1", "1", "1", "1", "1", "1"));//修改存储过程可以扩展
}
sdr.Close();
sdr.Dispose();
}
}
return lastViewer;
}
/**//// <summary>
/// 获取数据库中的最近访问的用户
/// 章学敏
/// 2007-6-16
/// </summary>
/// <param name="articleID">文章的ID</param>
/// <param name="userID">用户ID</param>
/// <returns></returns>
private string GetLastViewUsers(string articleID)
...{
SqlParameter param = MakeSqlInParameter(POST_ID, articleID); //读取前的跟新
try
...{
string users = RunScalar("Forum_GetLastViewUsers", param);
return users;
}
catch ...{ return " "; }
}
/**//// <summary>
/// 跟新文章的访问
/// 章学敏
/// 2007-06-15
/// </summary>
/// <param name="userID"></param>
/// <param name="articleID"></param>
private void UpdateLastViewer(string userID,string articleID)
...{
string LastViews=GetLastViewUser(GetLastViewUsers(articleID),userID);
SqlParameter[] paramList =...{MakeSqlInParameter("@LastViewUsers",LastViews),
MakeSqlInParameter(POST_ID,articleID)};
RunNoneQueryProcedure("Forum_UpdateLastViewers", paramList);
}
/**//// <summary>
/// 截取文章最近访问的6个人
/// 章学敏
/// 2007-06-15
/// <remarks>
/// 该函数主要是实现对访问某一文章的人进行记录和添加
/// 如果访问人数是制定的访问人数
/// 如果是第一次访问
/// 如果访问人数为达到制定的人数
/// 三种情况
/// </remarks>
/// </summary>
private string GetLastViewUser(string lastViewUser,string userID)
...{
int selectValue = 6;
int i = 0;
int j = 20;
int t = 0;
int flag = 0;
int k = selectValue;
string[] temp1 = lastViewUser.Split(',');
string result = "";
if (temp1.Length < selectValue)
...{
k = temp1.Length + 1;
}
else
...{
k = selectValue;
}
string[] temp2 = new string[k];
for (i = 0; i < temp1.Length; i++)
...{
if (temp1[i] == userID)
...{
j = i;
flag = 1;
break;
}
}
if (j == 20)
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
temp2[0] = userID;
}
else
...{
if (temp1.Length != selectValue)
...{
for (i = 0; i < temp1.Length; i++)
...{
temp2[i] = temp1[i];
}
temp2[i] = userID;
}
else
...{
for (i = 0; i < temp1.Length - 1; i++)
...{
temp2[i] = temp1[i + 1];
t = i;
}
temp2[i] = userID;
}
}
}
else
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
temp2[0] = userID;
}
else
...{
for (i = 0; i < temp1.Length; i++)
...{
if (i < j)
...{
temp2[i] = temp1[i];
}
else if (i < temp1.Length - 1)
...{
temp2[i] = temp1[i + 1];
}
else
...{
temp2[i] = userID;
}
}
}
}
for (i = 0; i < k; i++)
...{
if (i < k - 1)
...{
if (flag == 0)
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
result = temp2[0];
break;
}
result = result + temp2[i] + ",";
}
else
...{
if (i < k - 2)
...{
result = result + temp2[i] + ",";
}
else
...{
result = result + temp2[i];
break;
}
}
}
else
result = result + temp2[i];
}
return result;
}
#endregion
/**//// <summary>
/// 获取文章的最新浏览用户
/// 章学敏
/// 2007-6-16
/// </summary>
/// <param name="articleID">文章ID</param>
/// <param name="userID">用户ID</param>
/// <returns></returns>
public IList<Forum_AuthorInfo> GetLastViewers(string articleID,string userID)
...{
IList<Forum_AuthorInfo> lastViewer = new List<Forum_AuthorInfo>();
//如果是匿名用户,则不更新浏览记录
if (Convert.ToInt32(userID) == 0)
...{}
else
...{
UpdateLastViewer(userID, articleID);
}
string users = GetLastViewUsers(articleID);
if (string.IsNullOrEmpty(users))
...{
lastViewer = null;
}
else
...{
string[] userlist = users.Split(',');
for (int i = userlist.Length - 1; i >= 0; i--)
...{
SqlDataReader sdr = null;
int UserID = Convert.ToInt32(userlist[i]);
SqlParameter param = MakeSqlInParameter(POST_USERID, UserID);
sdr = RunReaderProcedure("Forum_GetAuthorInfoByAuthorID", param);
while (sdr.Read())
...{
lastViewer.Add(new Forum_AuthorInfo(sdr.GetInt32(0), "1", "1", sdr.GetString(1), "1", sdr.GetString(2), "1", "1",
"1", "1", "1", "1", "1", "1", "1", "1"));//修改存储过程可以扩展
}
sdr.Close();
sdr.Dispose();
}
}
return lastViewer;
}
/**//// <summary>
/// 获取数据库中的最近访问的用户
/// 章学敏
/// 2007-6-16
/// </summary>
/// <param name="articleID">文章的ID</param>
/// <param name="userID">用户ID</param>
/// <returns></returns>
private string GetLastViewUsers(string articleID)
...{
SqlParameter param = MakeSqlInParameter(POST_ID, articleID); //读取前的跟新
try
...{
string users = RunScalar("Forum_GetLastViewUsers", param);
return users;
}
catch ...{ return " "; }
}
/**//// <summary>
/// 跟新文章的访问
/// 章学敏
/// 2007-06-15
/// </summary>
/// <param name="userID"></param>
/// <param name="articleID"></param>
private void UpdateLastViewer(string userID,string articleID)
...{
string LastViews=GetLastViewUser(GetLastViewUsers(articleID),userID);
SqlParameter[] paramList =...{MakeSqlInParameter("@LastViewUsers",LastViews),
MakeSqlInParameter(POST_ID,articleID)};
RunNoneQueryProcedure("Forum_UpdateLastViewers", paramList);
}
/**//// <summary>
/// 截取文章最近访问的6个人
/// 章学敏
/// 2007-06-15
/// <remarks>
/// 该函数主要是实现对访问某一文章的人进行记录和添加
/// 如果访问人数是制定的访问人数
/// 如果是第一次访问
/// 如果访问人数为达到制定的人数
/// 三种情况
/// </remarks>
/// </summary>
private string GetLastViewUser(string lastViewUser,string userID)
...{
int selectValue = 6;
int i = 0;
int j = 20;
int t = 0;
int flag = 0;
int k = selectValue;
string[] temp1 = lastViewUser.Split(',');
string result = "";
if (temp1.Length < selectValue)
...{
k = temp1.Length + 1;
}
else
...{
k = selectValue;
}
string[] temp2 = new string[k];
for (i = 0; i < temp1.Length; i++)
...{
if (temp1[i] == userID)
...{
j = i;
flag = 1;
break;
}
}
if (j == 20)
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
temp2[0] = userID;
}
else
...{
if (temp1.Length != selectValue)
...{
for (i = 0; i < temp1.Length; i++)
...{
temp2[i] = temp1[i];
}
temp2[i] = userID;
}
else
...{
for (i = 0; i < temp1.Length - 1; i++)
...{
temp2[i] = temp1[i + 1];
t = i;
}
temp2[i] = userID;
}
}
}
else
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
temp2[0] = userID;
}
else
...{
for (i = 0; i < temp1.Length; i++)
...{
if (i < j)
...{
temp2[i] = temp1[i];
}
else if (i < temp1.Length - 1)
...{
temp2[i] = temp1[i + 1];
}
else
...{
temp2[i] = userID;
}
}
}
}
for (i = 0; i < k; i++)
...{
if (i < k - 1)
...{
if (flag == 0)
...{
if (string.IsNullOrEmpty(lastViewUser))
...{
result = temp2[0];
break;
}
result = result + temp2[i] + ",";
}
else
...{
if (i < k - 2)
...{
result = result + temp2[i] + ",";
}
else
...{
result = result + temp2[i];
break;
}
}
}
else
result = result + temp2[i];
}
return result;
}
#endregion
以上是一个记录用户访问的函数,主要功能是记录文章或博客的访问者信息。
- 记录页面访问者的信息
- 记录访问者的信息
- Android 内容访问者 和 跳转到通讯录页面获取信息
- java Web项目中,利用其过滤功能,实现访问者每次访问服务器时,记录访问者的IP,访问时间,Url等信息,并保存到文件的操作
- JavaScript中对访问者浏览器信息的获取
- ASP.NET 页面中获取访问者的IP地址
- (scope="prototype")解除“页面提交后保留上次访问过的记录信息”
- asp.net 取得访问者信息
- 使用MongoDB存储访问者信息
- 如何记录访问者IP地址
- 开始记录我的信息
- log4j的基础信息记录
- laravel 的日志记录访问者访问的资源和用户ip,及查询的内容
- 记录用户访问页面的记录。
- mobile响应式页面meta信息相关记录
- 页面间的信息传递
- WEB页面信息的交互
- 404错误页面的信息
- 如何使用Apache 多代理插件
- 网上最经典的签名,绝对意想不到(zz)
- JAVA中的异常处理
- MSSQL中显示当前IP地址
- C#图片处理之:给你的图片打上LOGO
- 记录页面访问者的信息
- 传两个整型参数(如 15,24)建一张表15,16,17。。。24 每个数为一条记录的表
- vim的中文tutor
- emacs与VC环境变量
- XMLHttpRequest对象的一些典型方法
- 开心笑话,帮助你缓解大脑的疲劳和学习的压力
- xmlhttp状态码
- 经典滑轮新闻显示
- WGet使用指南