Solved

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

Posted on 2008-10-08
5
923 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
Comment Utility
0
 
LVL 4

Expert Comment

by:techvagabond
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility

<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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Unlike scripting languages such as C# where a semi-colon is used to indicate the end of a command, Microsoft's VBScript language relies on line breaks to determine when a command begins and ends. As you can imagine, this quickly results in messy cod…
Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

744 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now