Web Development Information

Server Side Includes (SSI) with ASP


Server Side Includes (SSI) with ASP

People often have identical sections of code spread throughout many ASP pages, typically code at the top of the page (usually referred to as the header) and the lower part of the page (the footer). Similarly, you may have code that performs a certain set of instructions that you are repeating across multiple pages. Consider an example:-

<%
If foobar="yes" then
response.write "YES!"
Else
response.write "NOT YES!"
End if
%>

Ok, ok... it's simple, but imagine that you used this on multiple pages. What's wrong with this picture?

Well... you don't have to think about that long before realising that if you ever wanted to change something about that piece of code, you'd have your work cut out. you would have to change every page... everyone has done this at some stage and luckily most usually take the steps to learn a way around this problem.

If we could save our valuable chunk of code into a file and have that file accessed whenever we needed the code, then we no longer have a problem when it comes to changing things, as we simply update one file. Include files or Server Side Includes (SSI) as they are more commonly known are a powerful way to not only save time when it comes to maintaining and updating a site, but also increase efficiency and speed of that site too!

Ok, lets see how we use an include file... to start with we need to use one of two methods. The first one allows for including files relatively. By that I mean relative to the directory the ASP file that is using the include file resides. The second method includes files virtually. Including files virtually means that the path is taken from the root directory.

Consider that we are going to have a file (/main/somefile.asp) include another file (/includes/someinclude.asp).

To demonstrate, relative inclusion, look at this:-

<%
Response.Write "executing included code now"
%>
<!--#include file="../includes/someinclude.asp"-->
<%
Response.write "done executing included code"
%>

And here, we give an example of the other method, virtual inclusion:-

<%
Response.Write "executing included code now"
%>
<!--#include virtual="/includes/someinclude.asp"-->
<%
Response.write "done executing included code"
%>

Note the slight difference between the two methods. With virtual inclusion, you can move the file that calls upon the include file anywhere without affecting the outcome, because the path is always relative to the root. The same cannot be said however for relative inclusion. If you move a file that is using relative inclusion to a different directory, you'll most likely find the relative path is no longer correct.

From the examples above, you may also notice that both methods, when calling the include do so OUTSIDE of the ASP script block. This because #include declarations are not interpreted by ASP. Include files are included before a single line of ASP is processed which means the following WONT work:-

%lt;%
Page=request.form("page")
%>
<!--#include file="../includes/<%=page%>.asp"-->

We were attempting to perform a dynamic include and I would be the first to admit that the above would be very useful indeed if in fact it were possible. I do intend to cover a few methods that work around this set back but I know you will now be itching to get started right away on using include files to even worry about this, so I will cover it in a future article.

I hope that you have found the above informative and hope it inspires you all to write code that's more efficient and more easily maintained.

Rob Collyer, experienced with 20 years programming knowledge and site administrator of www.webforumz.com - Copyright 2003-2004


MORE RESOURCES:

Make Life Meaningful Monday: Goal Setting
Crookston Daily Times (blog)
I think I've taken goal setting to the level of art-form. I make spiritual growth goals, homemaking goals, parenting goals, exercise goals…you name it! And I don't just set giant goals, like vacationing in Europe next year or running a marathon.



The Bay City Times - MLive.com

Public welcome at Bay City goal-setting session Saturday morning
The Bay City Times - MLive.com
9 goal-setting session, the Bay City Commission agreed to create a list of what residents want to see. That exercise turned into a list of 34 items that attendees at Monday night's Town Hall meeting were asked to help prioritize.
Trenton Robinson complaint investigation complete, Bay City police chief saysMLive.com

all 4 news articles »


Petoskey News-Review

Boyne City goal-setting still under way
Petoskey News-Review
12 city goal-setting session at St. Matthew parish hall in Boyne City. Last time around, the vast majority of participants in the exercise shared their two cents without attending the public meeting, either. "It's a more comprehensive review of things ...



Lexington Herald Leader

Job search: Be willing to reinvent yourself to achieve your goals
Lexington Herald Leader
By Lenroy Jones — Contributing Columnist What: Join career columnists Lenroy Jones and Theresa Mickelwait and Shalyce Jackson of Just Ask! Consulting Services & Associates to learn about "Goal Setting: Fresh Start on Your Career Search.



Petoskey News-Review

Petoskey goals, actions updated
Petoskey News-Review
Petoskey's focus on the year ahead took center stage at a weekend goal-setting retreat. Elected city leaders and key staff members gathered Saturday at city hall to discuss the city's goals and update its action plan, part of the city's annual planning ...



New Goal-Setting Toolkit Available from Innovation Strategist Lea Strickland
NCTechNews (press release)
(Cary, NC) A new goal-setting toolkit for personal and professional success is now available at no charge from international strategic business consultant and noted expert on how to start and manage a profitable business, Lea Strickland, ...



New York Post

Giants win NFC Championship on OT field goal, setting up Super Bowl rematch vs ...
New York Post
By PAUL SCHWARTZ SAN FRANCISCO — On the road. In the NFC Championship. In overtime. The Patriots, already in, awaiting the winner. Harsh weather affecting every move. A draining, physical battle. A field goal to win it. “Everything that happened is ...

and more »


Achieving goals requires thought and action
insideTORONTO.com
When starting your own business, or to keep your existing business current and profitable, planning and goal-setting are the keys to success. If you don't have attainable and concrete goals and a plan to make them happen, just like in life, ...



Council Holds Goal Setting Session
KIMT
MASON CITY, IA- We told you last week about the Curbside Chat. That's when a representative from a Minnesota non-profit group stopped by Mason City. Their goal was to share ideas when it comes to running a town, and even changing perspectives if ...
Council sets goals for yearMason City Globe Gazette

all 2 news articles »


Dover council holds goal-setting session at fire station on Saturday
Foster's Daily Democrat
By LAURENNE RAMSDELL DOVER — The City Council will meet in a goal setting session Saturday morning held at the Liberty North End Fire Station. Beginning at 8:30 am and expected to last through mid afternoon, the city's newest council members will meet ...

and more »

Google News

home | site map | ArticleGecko | A ClashX Production 2006
© 2006