如何在主页上登陆成功后主页上显示登录的信息?

mingxiaoyuan 2009-09-12 12:08:25
公司的网站除主页是html的静态页面之外,其他均为asp(vb脚本)编写的页面,用户通过主页可以成功注册,但是想在主页登录后看到个人基本信息,类似的网站有:http://www.czwlzx.com/Index.html,http://www.zz6789.com/,http://www.shuxueweb.com/Index.html,http://www.99jisi.com/index.html请大虾们多多滴略详细的指条明路。
...全文
1423 64 打赏 收藏 转发到动态 举报
写回复
用AI写文章
64 条回复
切换为时间正序
请发表友善的回复…
发表回复
蚂蚁上树 2009-09-19
  • 打赏
  • 举报
回复
看到你的贴子 头都大了……
toury 2009-09-17
  • 打赏
  • 举报
回复
哦,你第一次测试是不是用的错误账户或错误密码?
如果是这样的话,可能是缓存的问题,修改一下(是我疏忽了):

//AJAX无刷新注册
var url="loginchk.asp?Usercount="+Usercount+"&Userpasswd="+Userpasswd+"&t="+new Date().getTime();

mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
当用户和密码正确时还是显示“您的帐号不存在或密码输入错误,请重新输入!!”数据库也有了,还有我37楼的问题已经解决了。现在的问题是和后台数据库没有交换,我用的是OLEDB的方法。
感觉这个函数执行有问题:
function callback(x){
if (x.readyState==4){
if(x.status==200||x.status==0){
var s=x.responseText;
if(s.indexOf('@error')!=-1){alert('后台不稳,需要加固!\n\n'+s); x=null; return}//调试用。成功后注释掉或删除

if(s.length>0&&s=="YES"){
$('reg').style.display="none";//隐藏注册DIV
$('msg').style.display="block";//显示信息DIV
}
else{
alert("您的帐号不存在或密码输入错误,请重新输入!!")
}
}
}
}
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
没关系!我也是边做边学!以后有不懂得地方还要请教您!!再次说声谢谢了!!我加你好友!!!
toury 2009-09-17
  • 打赏
  • 举报
回复
是我的疏忽,耽误你时间了。问题解决了就好。恭喜一下~~!
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
yes!!搞定了!!!谢谢你!理上网来,这段时间学到了很多东西!!!马上给你分去!!!!谢谢了!!!
toury 2009-09-17
  • 打赏
  • 举报
回复
狂汗中~~~~~~~~~~~

function callback(x)没问题了!
===========================
是loginchk.asp的错!!:

if not rs.eof then
ret="YES": session("Usercount")=UserCount
else
ret="NO"
end if

if rs.State <>0 then rs.Close
set rs=nothing
conn.close: set conn=nothing

response.write ret
'加上上面蓝字这句。忙了半天的AJAX,就是要这个句子啊,汗,我疏忽了,对不起楼主~~
if err <>0 then Response.Clear : Response.Write "@error:"&err.Description '调试时使用,成功后注释掉或删除
Response.End

toury 2009-09-17
  • 打赏
  • 举报
回复
function callback(x){
if (x.readyState==4){
if(x.status==200||x.status==0){
if(x.status==200){//上句删除换成这句
alert(x)// 加这句,alert()出来是object吗?
var s=x.responseText;
if(s.indexOf('@error')!=-1){alert('后台不稳,需要加固!\n\n'+s); x=null; return}//调试用。成功后注释掉或删除已经没问题了

alert(s)
alert(s.length)

if(s.length>0&&s=="YES"){
$('reg').style.display="none";//隐藏注册DIV
$('msg').style.display="block";//显示信息DIV
}
else{
alert("您的帐号不存在或密码输入错误,请重新输入!!")
}
}
}
}
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
依次出来3个对话框,第一个什么都没有是个空对话框,第二个是:“0”,第三个是:“您的帐号不存在或密码输入错误,请重新输入!!”
toury 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 56 楼 mingxiaoyuan 的回复:]
改成
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("mydb.mdb")之后,放在同级目录下。
这样提示的错误不是显示的是:后台不稳,需要加固!@error:后台数据库连接错误!
之前可能是缓存没清空,现在不显示alert()。直接显示的是:您的帐号不存在或密码输入错误,请重新输入!!。
而改成Response.Write "@error:后台数据库连接错误!"&err.Description 显示的也是:您的帐号不存在或密码输入错误,请重新输入!!。
[/Quote]
那说明,改过Server.MapPath("mydb.mdb")以后,数据库连上了,接近成功了。

下面搞前台的AJAX回调函数:
function callback(x){
if (x.readyState==4){
if(x.status==200||x.status==0){
var s=x.responseText;
if(s.indexOf('@error')!=-1){alert('后台不稳,需要加固!\n\n'+s); x=null; return}//调试用。成功后注释掉或删除已经没问题了

alert(s)//加上红字,告诉我alert()出来什么?
alert(s.length)
//加上红字,告诉我alert()出来什么?

if(s.length>0&&s=="YES"){
$('reg').style.display="none";//隐藏注册DIV
$('msg').style.display="block";//显示信息DIV
}
else{
alert("您的帐号不存在或密码输入错误,请重新输入!!")
}
}
}
}

mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
改成
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("mydb.mdb") 之后,放在同级目录下。
这样提示的错误不是显示的是:后台不稳,需要加固!@error:后台数据库连接错误!
之前可能是缓存没清空,现在不显示alert()。直接显示的是:您的帐号不存在或密码输入错误,请重新输入!!
而改成Response.Write "@error:后台数据库连接错误!"&err.Description 显示的也是:您的帐号不存在或密码输入错误,请重新输入!!
toury 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 mingxiaoyuan 的回复:]
按理来说我的数据库连接应该没问题呀!我注册的那块已经做完了,注册的功能都能实现,注册的信息都能保存到数据库中。
[/Quote]
路径不同,连接语句也不同。

现在就是数据库连接的问题了,你解决一下。我实在猜不出你那里什么情况。
toury 2009-09-17
  • 打赏
  • 举报
回复
if Conn.State <>1 then
set Conn=nothing
Response.Write "@error:后台数据库连接错误!"&err.Description
Response.End
end if
加蓝字看看什么错误

选择就是数据库没连上。连上了就没问题了
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
按理来说我的数据库连接应该没问题呀!我注册的那块已经做完了,注册的功能都能实现,注册的信息都能保存到数据库中。
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
我之前是放在loginchk.asp的同级目录下的,改了之后还是显示的是:“后台不稳,需要加固!@error:后台数据库连接错误!”
toury 2009-09-17
  • 打赏
  • 举报
回复
mydb.mdb数据库放哪里了?先把数据库放到和loginchk.asp同级目录下(就是放同一个文件夹里),然后:
Set conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("../mydb.mdb")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("mydb.mdb")
Conn.Open
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复
显示的是:后台不稳,需要加固!@error:后台数据库连接错误
toury 2009-09-17
  • 打赏
  • 举报
回复
把前台的login.asp加上一句:

<!--前台登录页面-->
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" /><!--加这句-->


toury 2009-09-17
  • 打赏
  • 举报
回复
loginchk.asp:

<%
response.charset="GB2312"'-------------------加这句

on error resume next

UserCount=trim(Request("Usercount"))
UserPasswd=trim(Request("Userpasswd"))
if trim(UserCount)="" then
Response.Write"@error:参数传递错误"
Response.End
end if

Set conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("../mydb.mdb")
Conn.Open
if Conn.State <>1 then
set Conn=nothing
Response.Write "@error:后台数据库连接错误!"
Response.End
end if

err.clear'-------------------移到这里

set rs=server.createobject("adodb.recordset")
sql="select * from usermg where UserCount='"&UserCount&"'and UserPasswd='"&UserPasswd&"'"
rs.Open sql,Conn,1,1

if not rs.eof then
ret="YES": session("Usercount")=UserCount
else
ret="NO"
end if

if rs.State <>0 then rs.Close
set rs=nothing
conn.close: set conn=nothing

if err <>0 then Response.Clear : Response.Write "@error:"&err.Description '调试时使用,成功后注释掉或删除
Response.End
%>

然后再把前台alert()出来的内容告诉我
mingxiaoyuan 2009-09-17
  • 打赏
  • 举报
回复

Loginchk.asp代码:
<%
err.clear
on error resume next

UserCount=trim(Request("Usercount"))
UserPasswd=trim(Request("Userpasswd"))
if trim(UserCount)="" then
Response.Write"@error:参数传递错误"
Response.End
end if
Set conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("../mydb.mdb")
Conn.Open
if Conn.State<>1 then
set Conn=nothing
Response.Write "@error:后台数据库连接错误!"
Response.End
end if
set rs=server.createobject("adodb.recordset")
sql="select * from usermg where UserCount='"&UserCount&"'and UserPasswd='"&UserPasswd&"'"
rs.Open sql,conn,1,1

if not rs.eof then
ret="YES": session("Usercount")=UserCount
else
ret="NO"
end if

if rs.State<>0 then rs.Close
set rs=nothing
conn.close: set conn=nothing

if err<>0 then Response.Clear : Response.Write "@error:"&err.Description '调试时使用,成功后注释掉或删除
Response.End
%>
加载更多回复(44)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧