我也遇到过这样的问题.在这里帮你整理一下.
在数据库中纪录客户的IP,每次进入页面后将客户的IP与数据库中的IP比较,如果有相同的就给于提示,不让进入.方法如下:
在access中建一个表guestIP,建一个字段,字段名为IP,数据类型为文本型.然后将下面的代码拷贝到你的那个页面里,把server.mappath("数据库路径")中的"数据库路径"修改成你的数据库相对路径就可以了.
<%
IP=Request.ServerVariables("REMOTE_ADDR")'获取当前IP
connstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("数据库路径")
set conn = server.createobject("ADODB.CONNECTION")
conn.open connstr
if err.number<>0 then
err.clear
set conn=nothing
response.write "<script>window.status=""数据库连接失"";</script>"
response.end
end if
set rs=server.createobject("ADODB.RecordSet")
rs.open "select IP from guestIP",conn
while not rs.eof
if rs("IP")=IP then
response.write("您已经登录过此页面,不能再次登录")
response.end
end if
wend
%>
java方面.这里都在jsp中完成,数据库用的是mssql,代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%
Connection con=null;
Statement sta=null;
ResultSet res=null;
String DatabaseName="mydatabase";";//表guestIP所在数据库的名称
String databaseUser="guazike";//你的数据库登陆账号
databasePassword="123456";//你的数据库登陆密码
String databaseurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName="+DatabaseName;
String excmes=null;//记录出错信息
String IP=request.getRemoteAddr();//获取当前IP
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(Exception e){
excmes = e.toString();
out.print(excmes+"<br>");
}
try{
con=DriverManager.getConnection(databaseurl,databaseUser,databasePassword);
sta=con.createStatement();
res=sta.executeQuery(select IP from guestIP);
while(res.next())
{
if(res.getString("guestIP").equals(IP))
out.print("<script language=\"JavaScript\" type=\"text/javascript\">alert('您已经登录过此页面,不能再次登录');history.go(-1);</script>");
}
}
catch(Exception e){
excmes = e.toString();
out.print(excmes+"<br>");
}
%>
温馨提示:答案为网友推荐,仅供参考