急,很难解决的asp.net问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:48:09
编写.net代码时,为什么 cookie的值是空值呢?

我遇到的问题就是:登陆不到muser.asp中去,总是提示“对不起,你还没有登陆”,也就是执行了 request.cookies(cookieName)("username")="" 我想问问高手,是怎么回事呢?应该怎么改呢?本人感激不尽......
下面是详细代码

登陆代码 login.asp
<!--#include file="manage/inc/config.asp"-->
<!--#include file="inc/conn.asp"-->

<%
'dim rs
if NOT isempty(request("LoginSubmit")) then
dim username,password
username=replace(trim(request("username")),"'","")
password=replace(trim(request("password")),"'","")
'if username="" or password="" then
' call MsgBox("对不起,登录失败,请检查您的登录名和密码","None","None")
'end if

set rs=server.CreateObject("adodb.recordset")

rs.Open "select * from [user] where username='"&username&"' and password=&

你cookieName这个变量一直没有给值,一直是空的。

你直接用response.Cookies("username")=......就可以了。
你用cookieName这也没有起到什么使用。

提醒一下,你只用COOKIES来保存是很不安全的,现在很多工具可以直接看COOKIES值,所以你要改成用SESSION和COOKIES同时来保存。
下面提供一个关于SESSION和COOKIES同时来保存的学习方法,你看一下。
http://www.w17x.com/AritcleDisplay.aspx?id=479
再提醒一下,你标题说是ASP.NET问题,你这是ASP问题,不是.NET问题。

注意cookie的编码,.net 和 asp对cookie的编码好像是不一样的。。

解决这种问题,很简单的。你只需要在chk.asp 的顶部加上一句代码即可:
x=request.cookies(cookieName)("username")
response.write(x)
response.end()
输出cookie的值,你就知道是什么原因了!
-------------------------------------------
这种情况。呵呵。那就说明在前面response.cookie的时候。并没有成功,那么你仔细去研究下你的判断语句!