CFSET

Use the CFSET tag to define a ColdFusion variable. If the variable already exists, CFSET resets it to the specified value.

Syntax

<CFSET variable_name=expression>

Arrays

The following example assigns a new array to the variable "months".

<CFSET months=ArrayNew(1)>

This example creates a variable "Array_Length" that resolves to the length of the array "Scores".

<CFSET Array_Length=ArrayLen(Scores)>

This example assigns to index position two in the array "months" the value "February".

<CFSET months[2]="February">

Dynamic variable names

In this example, the variable name is itself a variable.

<CFSET myvariable="current_value">
<CFSET "#myvariable#"=5>

COM objects

In this example, a COM object is created. A CFSET defines a value for each method or property in the COM object interface. The last CFSET creates a variable to store the return value from the COM object's "SendMail" method.

<CFOBJECT ACTION="Create" 
    NAME="Mailer" 
    CLASS="SMTPsvg.Mailer"> 
 
<CFSET MAILER.FromName=form.fromname> 
<CFSET MAILER.RemoteHost=RemoteHost> 
<CFSET MAILER.FromAddress=form.fromemail> 
<CFSET MAILER.AddRecipient("form.fromname", "form.fromemail")> 
<CFSET MAILER.Subject="Testing CFOBJECT"> 
<CFSET MAILER.BodyText="form.msgbody"> 
<CFSET Mailer.SMTPLog="logfile"> 
 
<CFSET success=MAILER.SendMail()> 
 
<CFOUTPUT> #success# </CFOUTPUT>

Example

<!--- This example shows how to use CFSET --->
<CFQUERY NAME="GetMessages" DATASOURCE="cfsnippets">
SELECT   *
FROM     Messages
</CFQUERY>
<HTML>
<HEAD>
<TITLE>
CFSET Example
</TITLE>
</HEAD>

<BODY bgcolor=silver>
<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 address of the user, or any
other function or expression possible in ColdFusion.

<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))>
...