When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sections:
Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
XML Info
Information:
Feedback
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback
Print this page.
Published: Tuesday, October 27, 1998

WebDaily: Your daily source for Web Technology Tips and Tricks!


*****************************************************************
Customize your Website per User
*****************************************************************


* This article discusses web site customization using ASP and SQL

You can greatly increase the user-friendliness of your website by turning it into a customizable site. By this, I mean each web visitor can select the background colors, images, and content which appear when they visit the site. Sites such as My Yahoo! are a good example of a truly customizable web site. In this article I will discuss how to make your web site slightly customizable: we will allow it so your users can customize the background color and font size.

To do this, we will have to have a table in our database to record this information. I am assuming that a table already exists for each registered web visitor (we'll call it Visitor table, and its primary key will be VisitorID). Let's define our customizable table as follows:

Table Name: UserPreferences
Rows:
UserPreferencesID (PK) int
VisitorID (FK) int
BackgroundColor  varchar(20)
FontSize int


Now, let us alter our global.asa file, to create two new Session variables in our Session_OnStart function:
Session("BackgroundColor")
Session("FontSize")

(For more information about Session variables, be sure to visit our ASP Index.)

On our logon page, the user will type in his or her name and password in a form, which, when submitted, will be sent to an ASP file which will connect to the database and see if it is a valid logon. If it is, we want to take the time to populate these two Session variables we've just declared in global.asa. The code might look like this:

' We alread have the VisitorID, because we have already
' verified that the visitor exists in the database earlier in
' this ASP file.

Dim rsPrefs, strSQL
strSQL = "SELECT BackGroundColor, FontSize FROM UserPreferences" & _
"WHERE VisitorID = " & VisitorID

Set rsPrefs = Conn.Execute(strSQL)

'Now that we have the data we need, populate the Session variables
Session("BackgroundColor") = rsPrefs("BackgroundColor")
Session("FontSize") = rsPrefs("FontSize")

' ...

Now that we have this data, in all of our ASP files we will want to have the following lines at the top of our page:

<BASEFONT SIZE="<%=Session("FontSize")%>">
<BODY BGCOLOR="<%=Session("BackgroundColor")%>">

This will make all of our pages look like the visitor has specified (which would be done through some web interface when they logged in for the first time ever).

As you can see, making a site which is custom-built by your visitors is not difficult to do using ASP and SQL. By adding such customizability to your site, you will make it more appealing to your visitors, and they will keep coming back. For more information on how to further customize your site, including how to set up a personalized, mass emailing system using ASP and SQL, please visit http://www.4GuysFromRolla.com/webtech

Happy Programming!

*****************************************************************
*****************************************************************
To subscribe to WebDaily, point your browser to:
http://www.4GuysFromRolla.com/webtech/webdaily
*****************************************************************
*****************************************************************


ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article