![]() |
#2
yms1232010-09-22 11:53
|
有几个用户 可以 绕过对时间判断~ 可以 连续的发信息~
大家帮忙看看 逻辑有问题没~
还有谁 遇到类似的问题 提供个解决办法呗~

string rlt = user.Get_Last_Time(uid);
DateTime dtone = Convert.ToDateTime(rlt);
DateTime dttwo = Convert.ToDateTime(DateTime.Now);
TimeSpan span = dttwo.Subtract(dtone);
int min = Convert.ToInt32(span.Minutes);
int hour = Convert.ToInt32(span.Hours);
if (span.TotalMinutes<=30)
{
Response.Write("<script>alert('30分钟之内不得在发信息!');location.href='javascript:history.back()'</script>");
}
else
{
Msg msg = new Msg();
bool rinfo = msg.Leave_message(msg_info);
if (rinfo == true)
{
Response.Write("<script>alert('发布信息成功!');location.href='index.aspx';</script>");
}
else
{
Response.Write("<script>alert('发布信息失败!');location.href='javascript:history.back()';</script>");
}
}
// 获取用户的最后一条留言时间
public static List<Msg_info> Get_Last_time(int uid)
{
SqlConnection conn = DBHelper.Createconn();
string sql = "SELECT TOP(2) * FROM [Msg_info] WHERE uid=@uid ORDER BY msgid DESC";
List<SqlParameter> param = new List<SqlParameter>();
param.Add(new SqlParameter("@uid",uid));
SqlDataReader reader = DBHelper.Select(sql,param,conn);
List<Msg_info> msg_infos = new List<Msg_info>();
while (reader.Read())
{
Msg_info msg_info = new Msg_info();
msg_info.adddate = Convert.ToDateTime(reader["adddate"]);
msg_infos.Add(msg_info);
}
conn.close();
return msg_infos;
}
[ 本帖最后由 wang4142 于 2010-9-21 11:50 编辑 ]