session的问题!

xk2y 2008-12-08 09:57:04
帮别人做的登录页面...有些问题

<!--#include file="conn.asp" -->
<%
username=Trim(Request.Form("username"))
password=Trim(Request.Form("password"))
if username<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select psw from admin where uid='"&username&"'"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
Response.Write("<script language='JavaScript'>alert('用户名错误!请重新登陆!')</script>")
else
if password<>rs("psw") then
Response.Write("<script language='JavaScript'>alert('密码错误!请重新登陆!')</script>")
else
session("uids")=username //这里明明赋值了...但是显示不了..
session("admin")="success"
response.Redirect("index.asp")
end if
end if
end if
set rs=nothing
set conn=nothing
%>

<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<%if session("admin")<>"success" then
%>
<table width="200" border="0">
<tr>
<td>
<FORM name="form1" method="post" id="f1"action="login.asp" onSubmit="return CheckForm()">
用户名:
<input name="username" type="text" id="un" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>
<br>


密 码:
<input name="password" type="password" id="pw" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>


</td>

</tr>
<tr>
<td>
<div align="right"><input type="submit" name="post" value="提交"/>
<input type="button" name="regu" value="注册"/>
</div></td>
</tr>
</form>
</table>
<%else
response.Write("欢迎你:" & session("uids"))//这里显示,session("admin")有值..但这个就没!
%>
<table width="200" border="0">
<FORM name="form2" method="post" id="f2"action="logout.asp">
<div align="right">
<input type="submit" name="post" value="注销"/>
</div>
</FORM>
</table>
<%end if%>
<SCRIPT language="JavaScript">
function CheckForm()
{
if (document.f1.un.value.length == 0)
{
alert("请输入用户名.");
document.f1.un.focus();
return false;
}

if (document.f1.pw.value.length == 0)
{
alert("请输入密码.");
document.f1.pw.focus();
return false;
}
return true;
}
</SCRIPT>
[
...全文
110 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xk2y 2008-12-15
OK,搞掂!结帖~
回复
Edidu 2008-12-13
我帮你把代码修改了一下,请参考



<%
if isempty(Request.Form("username")) then
username = ""
else
username=Trim(Request.Form("username"))
end if

if isempty(Request.Form("password")) then
password = ""
else
username=Trim(Request.Form("password"))
end if

if username <>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select psw from admin where uid='"&username&"'"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
Response.Write(" <script language='JavaScript'>alert('用户名错误!请重新登陆!') </script>")
else
if password <>rs("psw") then
Response.Write(" <script language='JavaScript'>alert('密码错误!请重新登陆!') </script>")
else
session("uids")=username //这里明明赋值了...但是显示不了..
session("admin")="success"
response.Redirect("index.asp")
end if
end if
end if
set rs=nothing
set conn=nothing
%>



如果这段代码执行后,页面没有弹出对话框而是直接转入index.asp。那么session("uids")就应该拥有userename的值。
如果弹出对话框,发生错误,就不能保存。
回复
草原可可 2008-12-12
有时候可能是网页的缓存
你在打开新页的时候 先强制刷新下
回复
xk2y 2008-12-12
8L用IIS?
回复
yunxiang2005 2008-12-10
学习!
回复
-晴天 2008-12-10
我用我的服务器试过了,你的程序并没有错,完全能正确显示.
你把response.Redirect("index.asp") 这句注释掉,再运行,就能看到了.
你这里当验证成功后,就跳转到另一个页面上去了.
回复
-晴天 2008-12-10
先试试这样:
<% 
username=Trim(Request.Form("username"))
password=Trim(Request.Form("password"))
if username<>"" then
session("uids")=username //这里明明赋值了...但是显示不了..
session("admin")="success"
end if
%>

<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<%if session("admin") <>"success" then
%>
<table width="200" border="0">
<tr>
<td>
<FORM name="form1" method="post" id="f1"action="login.asp" onSubmit="return CheckForm()">
用户名:
<input name="username" type="text" id="un" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>
<br>


密 码:
<input name="password" type="password" id="pw" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>


</td>

</tr>
<tr>
<td>
<div align="right"> <input type="submit" name="post" value="提交"/>
<input type="button" name="regu" value="注册"/>
</div> </td>
</tr>
</form>
</table>
<%else
response.Write("欢迎你:" & session("uids"))//这里显示,如果是session("admin")就有值..但这个就没!
%>
<table width="200" border="0">
<FORM name="form2" method="post" id="f2"action="logout.asp">
<div align="right">
<input type="submit" name="post" value="注销"/>
</div>
</FORM>
</table>
<%end if%>
<SCRIPT language="JavaScript">
function CheckForm()
{
if (document.f1.un.value.length == 0)
{
alert("请输入用户名.");
document.f1.un.focus();
return false;
}

if (document.f1.pw.value.length == 0)
{
alert("请输入密码.");
document.f1.pw.focus();
return false;
}
return true;
}
</SCRIPT>
回复
xk2y 2008-12-10
LS 那样写一样的...
_________________
session("uids")怎么会没值呢?
回复
-晴天 2008-12-10
response.Write("欢迎你:" & session("uids"))

改成:
response.Write "欢迎你:" & session("uids")

你加了括号,变成名称表达式了.
回复
xk2y 2008-12-10
没人啊?
回复
xk2y 2008-12-09
<!--#include file="conn.asp" -->
<%
username=Trim(Request.Form("username"))
password=Trim(Request.Form("password"))
if username<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select psw from admin where uid='"&username&"'"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
Response.Write("<script language='JavaScript'>alert('用户名错误!请重新登陆!')</script>")
else
if password<>rs("psw") then
Response.Write("<script language='JavaScript'>alert('密码错误!请重新登陆!')</script>")
else
session("uids")=username //这里明明赋值了...但是显示不了..
session("admin")="success"
response.Redirect("index.asp")
end if
end if
end if
set rs=nothing
set conn=nothing
%>

<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<%if session("admin")<>"success" then
%>
<table width="200" border="0">
<tr>
<td>
<FORM name="form1" method="post" id="f1"action="login.asp" onSubmit="return CheckForm()">
用户名:
<input name="username" type="text" id="un" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>
<br>


密 码:
<input name="password" type="password" id="pw" size="10" maxlength="20" style="border:0;border-bottom:1 solid black;background:;width=100px;"/>


</td>

</tr>
<tr>
<td>
<div align="right"><input type="submit" name="post" value="提交"/>
<input type="button" name="regu" value="注册"/>
</div></td>
</tr>
</form>
</table>
<%else
response.Write("欢迎你:" & session("uids"))//这里显示,如果是session("admin")就有值..但这个就没!
%>
<table width="200" border="0">
<FORM name="form2" method="post" id="f2"action="logout.asp">
<div align="right">
<input type="submit" name="post" value="注销"/>
</div>
</FORM>
</table>
<%end if%>
<SCRIPT language="JavaScript">
function CheckForm()
{
if (document.f1.un.value.length == 0)
{
alert("请输入用户名.");
document.f1.un.focus();
return false;
}

if (document.f1.pw.value.length == 0)
{
alert("请输入密码.");
document.f1.pw.focus();
return false;
}
return true;
}
</SCRIPT>
回复
鸣宇淳 2008-12-08
那次我用cookie保存了信息。赋了值,就是显示不出来,弄了半天,才发现我用的那个机器上的IE设置了不保存Cookie.气的我呀!IE对Session也可以限制吧,你看看是不是这方面的原因
回复
鸣宇淳 2008-12-08
什么问题啊?说说啊
回复
sforiz 2008-12-08
学习
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-12-08 09:57
社区公告
暂无公告