Connecting Tech Pros Worldwide Forums | Help | Site Map

<cfinclude> error

Newbie
 
Join Date: Feb 2008
Posts: 5
#1: Feb 11 '08
In my main page, I use <cfinclude> tag to include my header and footer.

But I get error. "Context validation error for the cfif tag.
The start tag must have a matching end tag. An explicit end tag can be provided by adding </cfif>. If the body of the tag is empty, you can use the shortcut <cfif .../>. "

If I put the three files into one big file without using <cfinclde> tag, the page display with no error.

Here is my code:

Expand|Select|Wrap|Line Numbers
  1. <cfinclude template="copyrights_header.cfm">
  2. <!--- Start page content.  --->
  3. My Main Page
  4. <!--- end page content --->
  5. <cfinclude template="copyrights_footer.cfm">
  6.  
My header code:

Expand|Select|Wrap|Line Numbers
  1. <cfif isDefined("url.pageID")>
  2.     <cfset pageID=#url.pageID#>
  3. <cfelse>
  4.     <cfset pageID=0>
  5. </cfif>
  6.  
  7. <cfif isDefined("url.secID")>
  8.     <cfset secID=#url.secID#>
  9. <cfelse>
  10.     <cfset secID=0>
  11. </cfif>
  12.  
  13. <cfif isDefined("url.type")>
  14.     <cfset type="#type#">
  15. <cfelse>
  16.     <cfset type="page">
  17. </cfif>
  18.  
  19. <cfparam name="title" default="Copyrights">
  20.  
  21. <cfquery datasource="#application.DBSource#" name="getTopLevels">
  22.         SELECT *
  23.         FROM tbl_page
  24.         ORDER BY display_order
  25. </cfquery>
  26.  
  27. <cfif getTopLevels.RecordCount GT 0>
  28.  
  29.     <cfif pageID EQ 0>
  30.         <cfquery datasource="#application.DBSource#" name="getTitles">
  31.         SELECT * FROM tbl_page WHERE default_page ='Y'
  32.         </cfquery>
  33.     <cfelse>
  34.         <cfquery datasource="#application.DBSource#" name="getTitles">
  35.         SELECT * FROM tbl_page WHERE page_id = #pageID#
  36.         </cfquery>
  37.     </cfif>
  38.  
  39.     <cfif getTitles.RecordCount EQ 0>
  40.         <cfquery datasource="#application.DBSource#" name="getTitles">
  41.         SELECT * FROM tbl_page WHERE page_id = (Select min(page_id) FROM tbl_page)
  42.         </cfquery>
  43.     </cfif>
  44.  
  45.     <cfif getTitles.RecordCount GT 0>
  46.         <cfset pageTitle="Copyrights">
  47.     </cfif>
  48.  
  49.     <cfinclude template="#application.settings.layout#/top_layout.cfm">
  50.  
  51.  
  52. <cfif isDefined("btnSubmit")>
  53.     <cfif #pageID# EQ 0>
  54.         <cfquery name="getDefaultTab" datasource="#application.DBSource#">
  55.         SELECT page_id from tbl_page where default_page="Y"
  56.         </cfquery>
  57.         <cfset pageID=#getDefaultTab.page_id#>
  58.     </cfif>
  59.  
  60.     <cfquery name="feedBack" datasource="#application.DBSource#">
  61.         INSERT INTO tbl_feedback 
  62.         (page_id, rate, comments, section_id) 
  63.         VALUES 
  64.         (#pageID#, #form.rate#, '#form.comments#', #secID#)
  65.     </cfquery>
  66. </cfif>
  67.  
  68. <!--- Get first level of Site Map = Page Title --->
  69. <cfquery name="getPage" datasource="#application.DBSource#">
  70.     SELECT page_id, page_name_en, sitemap_en, display_order
  71.     FROM tbl_page
  72.     Order By Display_Order
  73. </cfquery>
  74.  
  75. <cfset msgMT = "This page is currently under construction">
  76.  
  77. <cfoutput>
  78.     <tr valign="top">
  79.     <td>
  80.         <table align="left" valign="top" border="0" width="100%" height="100%" cellpadding="0" cellspacing="0">
  81.         <tr valign="top">
  82.             <td align="left" valign="top" width="20%" bgcolor="##F0F0F0" rowspan="2">
  83.             <br>
  84.                 <cfinclude template="#application.settings.layout#/expand_menu.cfm">
  85.             </td>
  86.  
  87.               <td valign="top">&nbsp; 
  88.                 <!--- <cfinclude template="#application.settings.layout#/inc_search_breadcrumb.cfm"> --->
  89.                 <span class="breadcrumb">You are here: <a href="../index.cfm">Home</a> > </span>
  90.             </td>
  91.         </tr>
  92.             <tr valign="top">
  93.             <td align="left" valign="top">
  94.         <table cellpadding="5" cellspacing="5" border="0" width="100%" height="100%" align="left">
  95.         <tr valign="top">
  96.             <td align="left" valign="top">
  97.             <cfif type is "search">
  98.             <cfinclude template="#application.settings.search#/searchLIB.cfm">
  99.             </td>
  100.         </tr>
  101.             <cfelse>
  102.  
My footer code:

Expand|Select|Wrap|Line Numbers
  1.     </td>
  2.     </tr>
  3.             </cfif>
  4.     <tr align="center" valign="bottom">
  5.     <td>
  6.     <cfinclude template="#application.settings.layout#/inc_feedback_form.cfm">
  7.     </cfoutput>
  8.     <tr valign="top">
  9.     <td><tr align="center" valign="bottom">
  10.     <td>
  11.     <cfelse>
  12.     <B>The Site is currently under construction.  Please visit us later.  Thank you.</B>
  13. </cfif>
acoder's Avatar
Site Moderator
 
Join Date: Nov 2006
Location: UK
Posts: 14,581
#2: Feb 11 '08

re: <cfinclude> error


You can't split a cfif across two cfincludes. Each cfinclude should be self-contained, so it can be re-used.
Newbie
 
Join Date: Feb 2008
Posts: 5
#3: Feb 11 '08

re: <cfinclude> error


Thank you very much!
acoder's Avatar
Site Moderator
 
Join Date: Nov 2006
Location: UK
Posts: 14,581
#4: Feb 11 '08

re: <cfinclude> error


No problem, you're welcome.
Reply


Similar ColdFusion bytes