• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1249
  • Last Modified:

How to "Write" and "Read" Cookies in VBScript ?

Hi,

I want to write a cookie called "UserName" and its value is "Sam". Can you please provide me complete code in VBScript - How to write that cookie and how to read that cookie ?

Appreciate your help for providing the code !

Thanks
0
milani_lucie
Asked:
milani_lucie
1 Solution
 
vsudipCommented:
0
 
techvagabondCommented:
Try something like this


<%@ Page Language=VB Debug=true %>
<script runat=server>
Sub SubmitBtnWrite_Click(Sender As Object, E As EventArgs)
        Response.Cookies("UserName").Expires = "5/1/2010"
        Response.Cookies("UserName").Value = "Sam"
End Sub
Sub SubmitBtnRead_Click(Sender As Object, E As EventArgs)
    Dim I as integer
    For I = 0 to Request.Cookies.Count - 1
        lblMessage1.Text = lblMessage1.Text  _
            & Request.Cookies.Item(I).Name & ": " _
            & Request.Cookies.Item(I).Value & "<BR>"
    Next
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>Cookies Sample Page</TITLE>
</HEAD>
<BODY >
<form runat="server">
<Font Face="Tahoma">
<asp:Label
    id="lblMessage1"
    runat="Server"
    Font-Bold="True"
/>
<BR><BR>
<asp:button
    id="butOK1"
    runat="server"
    text="Write Cookies to Browser"
    Type="Submit"
    OnClick="SubmitBtnWrite_Click"
/>
<asp:button
    id="butOK2"
    runat="server"
    text="Read Cookies from Browser"
    Type="Submit"
    OnClick="SubmitBtnRead_Click"
/>
</Font>
</Form>
</BODY>
</HTML>
0
 
milani_lucieAuthor Commented:
techvagabond:

Do we need to go to the server ? Can we do it on client side ? I think so we have something like this:

Document.Cookie = "UserName=Sam"

And we need NOT write

Response.Cookies("UserName").Value = "Sam"

Am i correct ? Please correct me if i am wrong !

Thanks
0
 
techvagabondCommented:
yea you could give that a shot. Try and run it and see how you go. best way to learn is to fiddle :D
0
 
sh0eCommented:

<script type="text/vbscript">
Function ReadCookie(name)
	Set re = New RegExp
	re.IgnoreCase = True
	re.Pattern = "(?:^|;) ?" & name & "=([^;]*)(?:;|$)"
	Set matches = re.Execute(document.cookie)
	If matches.Count > 0 Then
		ReadCookie = matches(0).SubMatches(0)
	Else
		ReadCookie = ""
	End If
End Function
 
Function WriteCookie(name, val)
	document.cookie = name & "=" & val
End Function
 
WriteCookie "attack","attack"
WriteCookie "tack","tack"
WriteCookie "stack","stack"
 
MsgBox document.cookie
 
MsgBox ReadCookie("attack")
MsgBox ReadCookie("tack")
MsgBox ReadCookie("stack")
If ReadCookie("ack") = "" Then
	MsgBox "No cookie data found for ack"
End If
 
</script>
 
<script type="text/javascript">
function readcookieJS(name){
	var re = new RegExp("(?:^|;) ?" + name + "=([^;]*)(?:;|$)", "i");
	var match = document.cookie.match(re);
	return match == null ? "" : match[1];
	/*If matches.Count > 0 Then
		ReadCookie = matches(0).SubMatches(0)
	Else
		ReadCookie = Null
	End If*/
}
function writecookieJS(name, val){
	document.cookie = name + "=" + val;
}
 
writecookieJS("attack1","attack1")
writecookieJS("tack1","tack1")
writecookieJS("stack1","stack1")
 
alert(document.cookie);
 
alert(readcookieJS("attack1"));
alert(readcookieJS("tack1"));
alert(readcookieJS("stack1"));
if(readcookieJS("ack1") == "")
	alert("No cookie data found for ack1");
</script>

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now