What I have done is take the Auth part of the old DB_Search and bolt it on to web_store.cgi so Load auth_lib.pl, auth_extra_lib.pl auth_extra_html.pl and auth_fail_lib.pl into the Library directory of web_store Then make the &require_supporting_libraries bit early on in web_store.cgi look like this-: &require_supporting_libraries (__FILE__, __LINE__, "./Library/web_store.setup.db"); $path = "."; $password_file_dir = "$path/Data"; # require all library files &require_supporting_libraries (__FILE__, __LINE__, "./Library/cgi-lib.pl", "./Library/auth-lib.pl"); &ReadParse(*form_data); &require_supporting_libraries (__FILE__, __LINE__, "$sc_cgi_lib_path", "$sc_html_setup_file_path", "$sc_mail_lib_path",); &ReadParse(*form_data); Then directly under this paste this (stolen fromDB_Search)-: ####################################################################### # Perform Authentication # ####################################################################### if ($should_i_authenticate eq "yes") { $session_file = "$form_data{'session_file'}"; ($session_file, $session_username, $session_group, $session_first_name, $session_last_name, $session_email, $session_1, $session_2, $session_3, $session_4, $session_5,) = &GetSessionInfo($session_file, $this_script_url, *form_data); } Then make the bit of code in Output front page look like this-: sub output_frontpage { &display_page("$sc_store_front_path", "Output Frontpage", __FILE__, __LINE__, $session_file,); } Then in the display page subroutine place this on the first line # Next we read and parse the incoming form data. # read_and_parse_form_data is a very short subroutine # which simply uses the ReadParse subroutine in cgi-lib.pl # to parse the incoming form data into the associative # array, %form_data. &ReadParse(*form_data) Then further down the routine make the "while ()" look a bit like this while () { s/cart_id=/cart_id=$cart_id/g; s/%%cart_id%%/$cart_id/g; s/%%session%%/$session_file/g; s/%%name%%/$session_first_name/g; s/%%addr1%%/$session_1/g; in order to carry the session number and any thing else you need to display from the session file on the front page. Thats all the changes to web_store.cgi now cut and paste the authentication variables from the setup file in db_search into web-store setup like this ######################################################################### # Authentication Variables # ######################################################################### $should_i_authenticate = "yes"; $auth_lib = "./Library"; $auth_server = "off"; $auth_cgi = "on"; $auth_user_file = "./Users/default.users.cgi"; $auth_alt_user_file = ""; $auth_default_group = "admin"; $auth_add_register = "on"; $auth_allow_register = "off"; $auth_email_register = "off"; $auth_admin_from_address = "you\@yourdomain.com"; $auth_admin_email_address = "you\@yourdomain.com"; $auth_session_length = 2; $auth_session_dir = "./Session_files"; $auth_register_message = "Thanks, you may now logon with your new username and password."; $auth_allow_search = "off"; $auth_generate_password = "off"; $auth_check_duplicates = "on"; $auth_password_message = "Thanks for applying to our site, your password is"; @auth_extra_fields = ("auth_first_name", "auth_last_name", "auth_email", "auth_1", "auth_2", "auth_3", "auth_4", "auth_5", "auth_6"); @auth_extra_desc = ("First Name", "Last Name", "Email", "addr1", "addr2", "addr3", "addr4", "addr5", "Postcode"); Then in web_store_html_lib.pl put something like this in the make hidden fields subroutine $hidden = qq! !; and in the page headers you can add "Hi $session_first_name, enjoy your shopping" to personalise the page or whatever info from the session file you wish Then in web_store_order_lib.pl find if ($line =~ /
Tracking No. $form_data{'cart_id'}

Delivery Address

$session_first_name $session_last_name
$session_1
$session_2
$session_3
$session_4
$session_5
$session_6
\n!; and that will put the address on the order form Then on your outlet front page make sure that you have this in it and if you want to say personalise it you can add data from the session file in %%these%% as long as you specify them in the display_page_subroutine Then make a new directory in the same root as web_store.cgi called Session_files and another one called Users and in this put a blank text file called default.users.cgi