<!--- This example shows how to use CFSET --->

<CFQUERY NAME="GetMessages" DATASOURCE="cfsnippets">
SELECT   *
FROM     Messages
</CFQUERY>

<HTML>

<HEAD>
<TITLE>
CFSET Example
</TITLE>
</HEAD>

<BASEFONT FACE="Arial, Helvetica" SIZE=2>
<BODY  bgcolor="#FFFFD5">

<H3>CFSET Example</H3>

<P>CFSET allows you to set and reassign values to local or
global variables within a CF template.

<CFSET NumRecords = GetMessages.RecordCount>
<P>For example, the variable NumRecords has been declared on
this template to hold the amount of records returned from
our query (<CFOUTPUT>#NumRecords#</CFOUTPUT>).

<P>In addition, CFSET can be used to pass variables from other 
pages, such as this example which takes the url parameter
Test from this link (<a href="cfset.cfm?test=<CFOUTPUT>#URLEncodedFormat("
hey, you, get off of my cloud")#</CFOUTPUT>">click here</A>) to display 
a message: 
<P><CFIF IsDefined ("url.test") is "True">
	<CFOUTPUT><B><I>#url.test#</I></B></CFOUTPUT>
<CFELSE>
	<H3>The variable url.test has not been passed from
	another page.</H3>
</CFIF>

<P>Finally, CFSET can also be used to collect environmental
variables, such as the time, the ip of the user, or any
other function or expression possible in Cold Fusion.

<CFSET the_date = #DateFormat(Now())# & " " & #TimeFormat(Now())#>
<CFSET user_ip = CGI.REMOTE_ADDR>
<CFSET complex_expr = (23 MOD 12) * 3>
<CFSET str_example = Reverse(Left(GetMessages.body, 35))>


<CFOUTPUT>
<UL>
	<LI>The date: #the_date#
	<LI>User IP Address: #user_ip#
	<LI>Complex Expression ((23 MOD 12) * 3): #complex_expr#
	<LI>String Manipulation (the first 35 characters of
	the body of the first message in our query)
	<BR><B>Reversed</B> :#str_example#
	<BR><B>Normal</B>: #Reverse("#str_example#")#
</UL>
</CFOUTPUT>
</BODY>

</HTML>       
