Solved

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

Posted on 2008-10-08
5
959 Views
Last Modified: 2012-05-05
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
Comment
Question by:milani_lucie
5 Comments
 
LVL 8

Expert Comment

by:vsudip
ID: 22675843
0
 
LVL 4

Expert Comment

by:techvagabond
ID: 22675857
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
 

Author Comment

by:milani_lucie
ID: 22675882
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
 
LVL 4

Expert Comment

by:techvagabond
ID: 22675903
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
 
LVL 16

Accepted Solution

by:
sh0e earned 500 total points
ID: 22699310

<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

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question