Solved

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

Posted on 2008-10-08
5
944 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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

809 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