<% OPTION EXPLICIT %> <% '============================================================== ' This file contains the database configuration. It also opens ' a connection object (Conn) using OpenCnx. ' The file also contains some common function. '============================================================== 'Global scope variables: Dim conn 'Connection object Dim dbPassword 'Database password '=========================================================== ' Sub: OpenCnx ' Desc: 'Opens connection conn if it is not already open. ' >>> Please, modify configuration with correct values <<< '=========================================================== Sub OpenCnx (ByRef conn) If NOT IsObject(conn) Then On Error Resume Next Dim ConnStr 'Connection string Dim dbPassword 'Database password Set conn = Server.CreateObject("ADODB.Connection") dbPassword = "QS2003p" ' <<<< Change any new Access database password here. '------------------------------------------------------- 'Pick ONE of the following configurations and comment the others 'For additional tech. info see ' - http://www.able-consulting.com/ADO_Conn.htm '------------------------------------------------------- '1. Configuration for System DSN 'ConnStr = "DSN=DSN_Name;uid=;pwd=" & dbPassword '2. Configuration for file DSN (DSN-Less) 'ConnStr = "DBQ=d:\inetpub\quadcomm.com\db\store.mdb;Driver={Microsoft Access Driver (*.mdb)};uid=;pwd=" & dbPassword '3. Configuration for OLEDB drivers (more efficient) 'a) Example of OLEDB connection with OLEDB 3.51 (if you have to use this one you may want to 'consider installing a newer version of MDAC 'ConnStr = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=C:\web\quadcomm\db\store.mdb; Jet OLEDB:Database Password=" & dbPassword 'b)Example of OLEDB connection on Windows 2000 server (version 4.0) 'ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\web\quadcomm\db\store.mdb; Jet OLEDB:Database Password=" & dbPassword ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Web\starquestpublishing\db\store2K.mdb; Jet OLEDB:Database Password=" & dbPassword 'c)Example of OLEDB connection on Windows 2000 server (version 4.0) and MS SQL Server 7.0/2000 'ConnStr = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=QShopDB; User ID=qshop_usr; Password=" & dbPassword 'ConnStr = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=Q-Shop; User ID=sa; Password=" '------------------------------------------------------- conn.open ConnStr 'Open connection object '------------------------------------------------------- 'When the site is working we recommend you to comment 'Option 1 and uncomment option 2 '------------------------------------------------------- If conn.errors.count > 0 then Dim counter For counter = 0 to conn.errors.count-1 If int(conn.errors(counter).number) <> 0 Then ' Option 1 response.write "Error # :" & conn.errors(counter).number & "

" response.write "Error desc. : " & conn.errors(counter).description & "

" If conn.errors(counter).number = -2147467259 Then response.write "Suggestion: Check the connection string ConnStr in conx.asp and make sure that only one option is not commented using '.

" End If set conn = nothing Response.End 'Option 2 'Redirect user to an error page if there is a connetion error. set conn = nothing Response.Redirect("connerror.htm") Response.End End If next conn.errors.Clear End If 'If you leave the following line commented, all errors will be by-passed unless there is 'a line like this somewhere in the code. On Error Goto 0 End If End Sub '=========================================================== ' Sub: CloseCnx ' Desc: Closes and destroys connection object "conn". '=========================================================== Sub CloseCnx (ByRef conn) If IsObject(conn) Then conn.close set conn = nothing End If End Sub '======================================================================== ' Basic Currency Functions '=========================================================== ' Function: FormatPrice ' Desc: Returns a price formatted including taxes when tax ' model is EU and Show_VAT is enabled. '=========================================================== Function FormatPrice (ByVal nCost, ByVal nTax, ByVal nTaxable) If IsNumeric(nCost) Then If Tax_ShowVAT = 1 AND Tax_Model = "EU" AND nTaxable = 1 Then FormatPrice = FormatNumber(nCost * (1+nTax/100.0),2) Else FormatPrice = FormatNumber(nCost,2) End If Else FormatPrice = "Error!" End If End Function '=========================================================== ' Function: FormatDefCurr (num) ' Desc: Returns a price formatted as currency using the default ' currency settings. '=========================================================== Function FormatDefCurr (num) 'Formats a number (num) as a currency figure with 2 decimal digits If IsNumeric(num) Then FormatDefCurr = Replace(shop_DefCurName,"#",FormatNumber(num,2)) Else FormatDefCurr = "Error!" End If End Function '=========================================================== ' Function: FormatSecCurr (ByVal num) ' Desc: Returns a price converted and formatted as currency ' using the secondary currency settings. '=========================================================== Function FormatSecCurr (ByVal num) 'Converts and formats a number (num) as a secondary currency figure with 2 decimal digits If IsNumeric(num) Then FormatSecCurr = Replace(shop_SecCurName,"#",FormatNumber (num / (CDbl(shop_SecCurConv)),2)) Else FormatDefCurr = "Error!" End If End Function '=========================================================== ' Function not currently used '=========================================================== 'Function FormatDefCurrTax (ByVal nCost, ByVal nTaxRate) ' If IsNumeric(nCost) AND IsNumeric(nTaxRate) Then ' FormatDefCurrTax = FormatDefCurr(nCost*(1+ntaxrate/100.0)) ' Else ' FormatDefCurrTax = "Error!" ' End If 'End Function '=========================================================== ' Function: GetDBCurrentDateTime ' Desc: Returns the current date and time in a format ' accepted by the current database (Access or SQL Server) '=========================================================== Function GetDBCurrentDateTime Dim strDateDelim, dtDate If shop_DB = "SQL" Then strDateDelim = "" 'MS SQL Server dtDate = "GETDATE()" Else strDateDelim = "#" 'MS Access 'Use with Access: It must be in US format MM/DD/YY regardless of local settings. dtDate = Month(Date) & "/" & Day(Date) & "/" & Year(Date) & " " & Time End If 'Build and return final date/time GetDBCurrentDateTime = strDateDelim & dtDate & strDateDelim End Function '=========================================================== ' Function: ParseInj ' Desc: Parses a string for SQL injection attacks. '=========================================================== Function ParseInj(strIn) ParseInj = Replace(strIn, "'", "''") End Function '=========================================================== ' Function: RemoveHTML ' Desc: Removes HTML tags from a string '=========================================================== Function RemoveHTML(sText) Dim RegEx Set RegEx = New RegExp RegEx.Pattern = "<[^>]*>" RegEx.Global = True RegEx.IgnoreCase = True RemoveHTML = RegEx.Replace(sText, "") End Function '======================================== 'Create connection object Call OpenCnx (conn) '======================================== %> <% '----------------------------------------------------------- ' Q-Shop Parameter/Settings definition ' Developed by QuadComm Inc. for use with Q-Shop ' © Copyright QuadComm, Inc. 2003. All rights reserved '----------------------------------------------------------- '======================================================================== ' CONSTANTS HARDCODED '======================================================================== '========================================= 'Collect Credit Card Details '========================================= Dim bCollectCCDetails 'Indicates whether credit card details fields should be shown 'If True CC fields are collected and saved to the database (True|False) 'Use True when processing credit cards manually 'Choose of the two options and comment the other one: bCollectCCDetails = False 'Display CC details fields 'bCollectCCDetails = True 'Don't display CC details fields '========================================= '========================================= 'Paypal configuration '========================================= Dim bEnablePaypal 'When True a paypal option will be displayed (True|False). (default is False) 'Choose of the two options and comment the other one: bEnablePaypal = True 'Enable Paypal 'bEnablePaypal = False 'Disable Paypal '========================================= '========================================= 'Cash on Delivery (COD) configuration '========================================= Dim bEnableCOD 'When True a COD option will be displayed (True|False). (default is True) 'Choose of the two options and comment the other one: 'bEnableCOD = True 'Enable COD bEnableCOD = False 'Disable COD '========================================= '========================================= 'External payment gateway link configuration '========================================= Dim bExtGateway 'Indicates whether the credit card payment is processed in an external site 'If True the credit card options including details won't be shown. (True|False) 'Choose of the two options and comment the other one: 'bExtGateway = True 'Use external gateway bExtGateway = False 'No external gateway '========================================= '========================================= 'CC extra fields configuration '========================================= Dim bShow_CCIssueNumber 'Display issue number field? (True|False) bShow_CCIssueNumber = False Dim bShow_CVV 'Display CVV number field? (True|False) bShow_CVV = True Dim bShow_L4SSN 'Display last 4 SNN digits field? (True|False) bShow_L4SSN = False 'Used for Transact-Secure with Authorize.Net '========================================= '========================================= 'Order email confirmation '========================================= Dim bSendMailConf 'Defines whether a mail confirmation should be sent (True|False). Default to True bSendMailConf = True 'Default True: Send email confirmation message. '======================================================================== 'Get secure URL details. If there is a secure URL get the non-secure as well. '======================================================================== Dim strNonSecPath Dim strSecPath strSecPath = Application("SECUREURL") If strSecPath <> "" Then strNonSecPath = Application("URL") 'Hardcode if necessary: 'strSecPath = "https://www.secure-us.net/quadcomm/demo/" 'strNonSecPath = "http://quadcomm.com/demo/" '======================================================================== '======================================================================== ' Logo file paths. If you need to have content other than images, you can ' hardcode the value here. '======================================================================== Dim LogoURL, smLogoURL, LineLogoURL 'URL of the main logo. Double quote all quote characters 'LogoURL = "" If Application("LogoURL") <> "" Then LogoURL = "" Else LogoURL = "" End If 'URL of the small logo on the left-hand side bar. Double quote all quote characters 'smLogoURL = "" If Application("smLogoURL") <> "" Then smLogoURL = "" Else smLogoURL = "" End If 'URL of the small logo displayed when a product has no picture (called in inc/line.asp). Double quote all quote characters. This could also be text or HTML code. 'LineLogoURL = "" If Application("NotAvailImg") <> "" Then LineLogoURL = "" Else LineLogoURL = "(No image)" End If '======================================================================== '======================================================================== Dim MaxItems 'Defines the maximum number of products per page when 'browsing products in the shop '======================================================================== MaxItems = 20 'Maximum number of items displayed at once '======================================================================== 'Set browse layout types: S (single), M (multiple) ' Single: Each product has its own add to cart button ' Multiple: All products in a page share an add to cart button so that ' multiple products can be added to the cart at the same time. '======================================================================== Dim sBrowseSearch 'Browse type for products page Dim sBrowseOffer 'Browse type for Offers page Dim sBrowseManu 'Browse type for Manufacturers page Dim sBrowseFeat 'Browse type for Featured Products page Dim sBrowseMyList 'Browse type for My List page sBrowseSearch = "S" 'Browse search results sBrowseOffer = "M" 'Browse offers page sBrowseManu = "S" 'Browse by brands/manufacturer list page sBrowseFeat = "M" 'Browse featured products sBrowseMyList = "M" 'Browse type for My List page '======================================================================== '======================================================================== ' Related Products Parameters (used in details.asp) '======================================================================== Dim RelProdsLayout 'Related Products Layout Dim RelProdsTableColumns 'Number of related products per line when using "Thumbnail" layout RelProdsLayout = "Thumbnail" '(Thumbnail|List) RelProdsTableColumns = 3 '======================================================================== '======================================================================== ' Email confirmation settings '======================================================================== Dim sMailFormat 'Related Products Layout (TEXT|HTML) sMailFormat = "TEXT" '(TEXT|HTML) 'sMailFormat = "HTML" '(TEXT|HTML) '======================================================================== '======================================================================== ' CONSTANTS LOADED DYNAMICALLY FROM DB, ETC. '======================================================================== ' You shouldn't edit the parameters below in normall circumstances ' unless you want to override the default way of loading them via the ' database and the control panel. '======================================================================== '======================================================================== ' Shop Settings definitions '======================================================================== Dim shop_DefCurName, shop_SecCurName, shop_SecCurConv, shop_CompanyName, shop_Mail, shop_Title, shop_StockControl Dim shop_DB, shop_MailSystem, shop_URL, shop_ShowTerms Dim shop_TempPath 'Temporary folder (to write temporary files). This folder requires write permissions 'for the IUSR_ user (used by the web server). shop_TempPath = Application("TempPath") '***** CONFIGURE IN CONTROL PANEL ***** ' Currency shop_DefCurName = Application("DefCurName") shop_SecCurName = Application("SecCurName") shop_SecCurConv = Application("SecCurConv") 'Others shop_CompanyName = Application("CompanyName") shop_Mail = Application("Mail") shop_Title = Application("Title") If Application("ShowTerms") = "1" Then shop_ShowTerms = True Else shop_ShowTerms = False End If If Application("StockControl") = "1" Then shop_StockControl = True Else shop_StockControl = False End If shop_DB = Application("DBSystem") shop_MailSystem = Application("MailSystem") shop_URL = Application("URL") 'Shop base URL. 'If the URL doesn't end with "/" add it: If RIGHT(shop_URL,1) <> "/" Then shop_URL = shop_URL & "/" 'Colour settings Dim CART_HEAD_BG, CART_HEAD_FONT, CART_BODY_BG, LMENU_BG, LMENU_FONT, LMENU_SUB_FONT, TMENU_BG Dim TMENU_FONT, SEC_BG, SEC_FONT, DETAILS_BG, DETAILS_HEAD_BG, DETAILS_HEAD_FONT CART_HEAD_BG = Application("CART_HEAD_BG") CART_HEAD_FONT = Application("CART_HEAD_FONT") CART_BODY_BG = Application("CART_BODY_BG") LMENU_BG = Application("LMENU_BG") LMENU_FONT = Application("LMENU_FONT") LMENU_SUB_FONT = Application("LMENU_SUB_FONT") TMENU_BG = Application("TMENU_BG") TMENU_FONT = Application("TMENU_FONT") SEC_BG = Application("SEC_BG") SEC_FONT = Application("SEC_FONT") DETAILS_BG = Application("DETAILS_BG") DETAILS_HEAD_BG = Application("DETAILS_HEAD_BG") DETAILS_HEAD_FONT = Application("DETAILS_HEAD_FONT") 'Tax Settings Dim Tax_Model, Tax_ShowVAT Tax_Model = Application("Tax_Model") 'EU, US or CAN supported Tax_ShowVAT = Application("Tax_ShowVAT") '1: Show VAT included. '======================================================================== ' DB Constant definitions (From adovbs.inc) ' Remove if including adovbs.inc '======================================================================== '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 '---- CursorLocationEnum Values ---- Const adUseServer = 2 Const adUseClient = 3 '---- Other ---- Const adExecuteNoRecords = &H00000080 %> <% Function GenerateUserId 'Generates a user Id that is not already in the database. Dim sUserId, IsValidNew IsValidNew = False sUserId = "" While NOT IsValidNew 'Generate a new Id (10 digits = 22,809,600,000,000 possible combinations Randomize sUserId = chr (int( 20 * Rnd +65 )) & _ chr (int( 20 * Rnd +65 )) & _ int ( 9 * Rnd + 1) & _ chr (int( 20 * Rnd +65 )) & _ chr (int( 20 * Rnd +65 )) & _ chr (int( 20 * Rnd +65 )) & _ int ( 9 * Rnd + 1) & _ chr (int( 20 * Rnd +65 )) & _ chr (int( 20 * Rnd +65 )) & _ chr (int( 20 * Rnd +65 )) 'Query how many times the UserId is in teh database (should be 0 or 1) sql = "SELECT COUNT(*) FROM Users Where UserId = '" & sUserId & "'" Set Rs = conn.Execute (sql) If NOT (rs.EOF and rs.BOF) Then If Rs(0) = 0 Then 'Does not exist IsValidNew = True Else 'Already exists! IsValidNew = False End If Else 'If if fails to perform the operation suppose it is correct 'this is to avoid an infinite loop IsValidNew = True End If 'Close an clean up recordset rs.Close set rs = nothing Wend GenerateUserId = sUserId End Function Function CheckEmailDB (sEmail) Dim sSQL, RsEmail, bResult bResult = False sSQL = "SELECT Mail From Users where Mail = '" & Trim(sEmail) & "'" Set RsEmail = Server.CreateObject("ADODB.Recordset") Set RsEmail = conn.execute(sSQL) If RsEmail.EOF AND RsEmail.BOF Then 'E-mail does not exist in the database bResult = False Else 'E-mail does already exist" bResult = True RsEmail.Close End If set RsEmail = nothing CheckEmailDB = bResult End Function Function CheckUserId (sUserId) 'Returns True if the User Id does not exist in the database 'Returns True if the User Id exists in the database Dim sSQL, RsUser, bResult bResult = False sSQL = "SELECT UserID From Users where UserID = '" & Trim(sUserId) & "'" Set RsUser = Server.CreateObject("ADODB.Recordset") Set RsUser = conn.execute(sSQL) If RsUser.EOF AND RsUser.BOF Then 'UserID does not exist in the database bResult = False Else 'UserID does already exist" bResult = True RsUser.Close End If set RsUser = nothing CheckUserId = bResult End Function Function CheckUserEmail (sEmail) 'Returns True if the User email does not exist in the database 'Returns True if the User email exists in the database Dim sSQL, RsUser, bResult bResult = False sSQL = "SELECT mail From Users where mail = '" & Trim(sEmail) & "'" Set RsUser = Server.CreateObject("ADODB.Recordset") Set RsUser = conn.execute(sSQL) If RsUser.EOF AND RsUser.BOF Then 'UserID does not exist in the database bResult = False Else 'UserID does already exist" bResult = True RsUser.Close End If set RsUser = nothing CheckUserEmail = bResult End Function 'Updates a cart with a new User Id Sub UpdateCartUserID (sUserID, sCartID) Dim Rs, sSQL sSQL = "UPDATE Carts SET UserID = '" & sUserID & "' WHERE CartID = '" & sCartID & "'" Set Rs = Server.CreateObject("ADODB.Recordset") set Rs = conn.execute(sSQL) set Rs = nothing End Sub 'Updates "My List" with a new User Id Sub UpdateMyListUserID (sOldUserID, sNewUserID) Dim Rs, sSQL sSQL = "UPDATE CommonList SET UserID = '" & sNewUserID & "' WHERE UserID = '" & sOldUserID & "'" Set Rs = Server.CreateObject("ADODB.Recordset") set Rs = conn.execute(sSQL) set Rs = nothing End Sub Sub ResetUser 'Reset User ID on Session and create a new one, reset user details as well. 'Write the new User ID to a cookie 'It also updates the cart items with the new UserID. Dim oUserID 'Old user ID Dim Rs oUserID = Session("UserID") 'Obtain User Id from the cookie Session("Logged") = False 'Log user out Session("UserID") = GenerateUserId 'Generate new User Id Session("Cookie")= 0 'This will force to write a cookie with the new id. 'Reset user information Session("Name") = Null Session("Surname") = Null Session("Mail") = Null Session("Country") = Null Session("UserDiscount") = 0 If Application("Tax_Model") = "EU" Then Session("TaxID") = Null On Error Resume Next 'Update the cart with the new UserID (in case the user had added something) Set Rs = Server.CreateObject("ADODB.Recordset") set Rs = conn.execute("UPDATE Carts SET UserID = '" & Session("UserID") & "' WHERE CartID = '" & Session("CartID") & "'") set Rs = nothing End Sub Sub WriteUserIdCookie (sUserId) 'Writes the UserID Cookie Response.Cookies("UserID") = sUserId 'Sets expiry date Response.Cookies("UserID").Expires = Date + 180 '6 months to expire (6*30 = 180 days) 'Example of fixed date: "1 Dec 1999" 'Saves the cookie state as "Written to client" Session("Cookie") = 1 End Sub Sub UpdateLastVisit (sUserId) ' Updates the LastVisit field in the database Dim Rs, sql, dtDate, strDateSep ' If NOT Session("DateUpdated") Then If shop_DB = "SQL" Then strDateSep = "'" 'MS SQL Server 'Get the date in an international format YYYY-MM-DD recognised by SQL Server dtDate = Year(Date) & "-" & Month(Date) & "-" & Day(Date) Else strDateSep = "#" 'MS Access 'Use with Access: It must be in US format MM/DD/YY regardless of local settings. dtDate = Month(Date) & "/" & Day(Date) & "/" & Year(Date) End If sql = "UPDATE Users SET LastVisit = " & strDateSep & dtdate & strDateSep & " WHERE UserID = '" & sUserId & "'" conn.execute sql 'Update this variable so we don't update the date again during this session Session("DateUpdated") = True ' End If End Sub Function CleanLoginPwd (sText) ' Cleans a text to be used as login or password to avoid SQL injection attacks. Dim sCleanText sCleanText = Replace(sText, "'", "") sCleanText = Replace(sCleanText, """", "") sCleanText = Replace(sCleanText, " ", "") sCleanText = Trim(sCleanText) CleanLoginPwd = sCleanText End Function %> <% Response.Buffer = True Dim strSQL, strMsg Dim rsUsr If Request("default")= "true" Then Call WriteUserIdCookie (Session("UserID")) strMsg = Session("Mail") & " is now your default user.

" End If If Request.QueryString("reset") = "yes" Then Session("UserID") = GenerateUserId End If If Request.QueryString("logout") = "yes" Then Session("Logged") = False End If If Request("Login") <> "" OR Request.Form("Login.x") <> "" Then 'Login Process '1st Check we have user and password If Trim(Request("UserID"))= "" OR Trim(Request("Pwd"))= "" Then 'Not all provided strMsg = "

Sorry, you didn't complete your e-mail or user ID and password.

" Session("Logged") = False Else 'Check in database. Use CleanLoginPwd to avoid SQL Injection attacks strSQL = "SELECT * FROM Users WHERE (UserID = '" & CleanLoginPwd(Request("UserID")) & _ "' OR mail = '" & CleanLoginPwd(Request("UserID")) & "' )AND Pwd = '" & CleanLoginPwd(Request("Pwd")) & "'" set rsUsr = conn.Execute (strSQL) If rsUsr.EOF AND rsUsr.BOF Then 'Not valid strMsg = "

Sorry, the login and password provided are not correct.

" Session("Logged") = False else 'Get user data and initialise Session variables Session("UserID") = rsUsr("UserID") Session("uPwd") = Request("Pwd") Session("Mail") = rsUsr("mail") Session("Name") = rsUsr("Name") Session("Surname") = rsUsr("Surname") Session("Country") = rsUsr("Country") If IsNull(rsUsr("Discount")) Then Session("UserDiscount") = 0 Else Session("UserDiscount") = rsUsr("Discount") End If If Application("Tax_Model") = "EU" Then Session("TaxID") = rsUsr("TaxID") Session("Logged") = True rsUsr.Close 'Set the cookie as default in this machine Call WriteUserIdCookie (Session("UserID")) 'Update LastVisit field in the user record UpdateLastVisit Session("UserID") End If set rsUsr = nothing End If End If %> <%= shop_Title %> <% '====================================================================================== ' File: head.inc ' Description: This file produces the HTML for the definition of the top of all the ' shop pages. It also includes a call to the include file that creates ' the left hand side navigation bar leftinc.asp and until the creation of ' the cell that contains the main body of the pages. '====================================================================================== ' Initialise cat variable with the contents of Request("cat"). This holds current ' category/section Dim strNav If Request("cat") <> "" Then strNav = "cat=" & Request("cat") & "&path=" & Request("path") %>

 

<%= LogoURL %>

<% 'If user has logged in show available functions If Session("UserID") <> "" AND Session("uPwd") <> "" AND Session("Logged") AND Request("new")= "" Then %>

Your E-mail is <%= Session("Mail") %> (User ID: <%= Session("UserID") %> )

<%= strMsg %> Authors Book Distribution Center.

Check the status of Star Quest orders from booksellers and distributors.
View Bookseller and retail orders.
Use this function to review all your orders. You can check the status of your orders, review order details and print invoices.
Log out.
Log out. The items in your cart will be kept for the length of this session.
Manage My List.
Select this option to review and modify your own "My List". You can delete products in your list from here.
Edit my account.
Select this option to review and modify your account details. You can also specify whether you want to receive information of products and/or promotions.
Login as a different user.
Use this function to login as a different user. This will allow you to review orders of a different e-mail/user ID.
Make this account (<%= Session("Mail")%>) the default on this browser.
If you would like to we recognised with this account every time you come back, select this function. This allows you to use the same account with different browsers or from different locations. We won't log you in automatically but you will be greeted by name and will be able to access your list without logging in.

For options not covered in this section, please, contact us.

<% Else 'User not logged in. Show login form. If strMsg <> "" Then %>
<%= strMsg %>
<% End If %>
Please, complete your e-mail address or user ID and password to log in:

E-mail (or User ID): " style="font-size: 13px">
Password :
Forgot your password?
If you don't have an account yet, you can create it here. Alternatively, an account will be automatically created the first time you place an order with us.
<% End If %>

Star Quest Publishing © 2003-2007       www.StarQuestPublishing.com       Email: info@StarQuestPublishing.com      
<% 'Close and destroy connection Call CloseCnx(conn) %>