Classic ASP Active Server Pages Examples, code, tutorials, scriptsClassic ASP Script to Archive or Save Emails to Database and Attached Files to Folder

UPDATED April 11, 2011.

I improved the script and modified it to work for the PHP-fusion portal, which I think is the best CMS I have tried. The script below may be used stand-alone as an email archiver, or it may be used as an enhancement for PHP-fusion. (The previous version is here.)

You can run the script manually or call it from cron if that is available. As a Classic ASP script, this script must be run on a Windows host.

Here is my Classic ASP script for archiving emails into a database. There is nothing original in it--I pieced it together by following the manual on Dimac.net and other examples. It is set up for use with MySQL so if you're using a different database, you'll need to change the database connection. Also note that the field data is prepared for MySQL and that may need to be changed if using a different database. This script requires the professional version of Jmail component by Dimac - if your host does not have it, they might install it for you. It also uses Persits ASPJpeg to get image file dimensions. You may want to add a filter to save emails only from whitelisted email addresses. I chose not to have the script delete emails from the mail server, but to be safe, test before actual use. The way it is designed to work is to see if the message id number is already in the database and if not, then to process the email.

If you find this script to be useful, please rate:
Codango PHP, ASP .NET, JSP Scripts, Resources, Reviews
Click to Read Reviews
User
Rated
What do you think?
For MySQL Database Tables:
-
CREATE TABLE IF NOT EXISTS `YOURTABLEPREFIX_articles` (
`article_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`article_cat` mediumint(8) unsigned NOT NULL DEFAULT '0',
`article_subject` varchar(200) NOT NULL DEFAULT '',
`article_snippet` text CHARACTER SET utf8 NOT NULL,
`article_article` text CHARACTER SET utf8 NOT NULL,
`article_draft` tinyint(1) unsigned NOT NULL DEFAULT '0',
`article_breaks` char(1) NOT NULL DEFAULT '',
`article_name` mediumint(8) unsigned NOT NULL DEFAULT '1',
`article_datestamp` int(10) unsigned NOT NULL DEFAULT '0',
`article_reads` mediumint(8) unsigned NOT NULL DEFAULT '0',
`article_allow_comments` tinyint(1) unsigned NOT NULL DEFAULT '1',
`article_allow_ratings` tinyint(1) unsigned NOT NULL DEFAULT '1',
`MsgUID` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`article_id`),
KEY `article_datestamp` (`article_datestamp`),
KEY `article_reads` (`article_reads`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=249 ;


-- Table structure for table `emailed_files`
--

CREATE TABLE IF NOT EXISTS `YOURTABLEPREFIX_emailed_files` (
`FID` int(11) NOT NULL AUTO_INCREMENT,
`Fmsg` int(11) NOT NULL,
`Fname` varchar(255) CHARACTER SET utf8 NOT NULL,
`Fext` varchar(30) CHARACTER SET utf8 NOT NULL,
`Fsize` int(11) NOT NULL DEFAULT '0',
`Fwidth` int(11) NOT NULL DEFAULT '0',
`Fheight` int(11) NOT NULL,
`FileDel` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT 'OK',
PRIMARY KEY (`FID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;




The Script: (Copy and then paste to Notepad)

<%@LANGUAGE = VBScript%>
<%
'#################################################################
'archiveemails.asp
'There is nothing original in this script.
'BACK UP YOUR DATABASE BEFORE TESTING THIS SCRIPT & USE AT YOUR OWN RISK
'I put it together with bits of code I found here and there on the internet-thanks to all who share their code with the community.
'LilPeck@gmail.com - www.classicaspreference.com - www.rawphp.com
'CHANGE THE VARIABLES BELOW TO YOURS
'#################################################################

'database authentication
dbHost="DBHOSTNAME"
dbUser="DBUSERNAME"
dbPassWord="DBPASSWORD"
dbDatabase = "DATABASENAME"
strArticlesTable = "EMAILTABLENAME" 'For the content of your emails
strFilesTable="ATTACHMENTSTABLENAME"
strconnect = "Driver={MySQL ODBC 5.1 Driver};Server="&dbHost&";uid="&dbUser&";pwd="&dbPassWord&";database="&dbDatabase&";"

'email authentication
DDim mailUser, mailPass, mailServer
mailUser = "YOUREMAILADDRESS"
mailPass = "YOUREMAILPASSWORD"
mailServer = "YOUREMAILSERVER"

'path to folder where email attachments will be saved
strAttachmentsFolder="C:\PATHTOYOURATTACHMENTSFOLDER\files\" 'MUST BE WRITEABLE
strTempFolder="C:\PATHTOYOURTEMPFOLDER\files\temp\" 'MUST BE WRITEABLE
%>/span>

<b><br>Archive Emails In MySQL Database</b><br />
Dimac Jmail Professional required for this Classic ASP script.<br />
No warranties or guarantees of any kind - use at your own risk.
<br /><br />

<%

'#################################################################
'CHANGE THINGS BELOW THIS LINE ONLY IF YOU KNOW WHAT YOU ARE DOING
'#################################################################

on error resume next
dim adoConn
dim adoRS
dim counter
set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open strconnect
if adoConn.errors.count = 0 then

%>
<%
'connect to mailbox
'dimac Jmail professional required www.dimac.net
Dim webmail
Set webmail = Server.CreateObject("JMail.POP3")
webmail.Connect mailUser, mailPass,mailServer

%>
<%
'process attachments function
Function getAttachments()
Set Attachments = msg.Attachments
For mm = 0 To Attachments.Count - 1
Set at = Attachments(mm)
response.write at.Name & MsgUID

'saving attachments with new file name if existing file name in use
dim fs
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists(strAttachmentsFolder&at.Name)=true then
'response.write("File exists!")
'response.write StripFileExt(at.Name)
newFname = Replace(at.Name, StripFileExt(at.Name), "")
'response.write newFname & Month(now())&"_"&Day(now())&"_"&Year(now())&"_"&Minute(now())&"_"&Second(now())& StripFileExt(at.Name)
prepFname=newFname & Month(now())&"_"&Day(now())&"_"&Year(now())&"_"&Minute(now())&"_"&Second(now())& StripFileExt(at.Name)
FileExt=trim(StripFileExt(at.Name))
at.SaveToFile(strTempFolder & at.Name )

fs.MoveFile strTempFolder& at.Name,strAttachmentsFolder&prepFname

else
at.SaveToFile(strAttachmentsFolder & at.Name )
'response.write("File does not exist!")
prepFname=at.Name
FileExt=trim(StripFileExt(at.Name))
end if
set fs=nothing
FileSize=at.Size
FileName=prepFname
if FileDel="" then
FileDel="OK"
end if


filesSQL ="INSERT INTO "&strFilesTable&" (`Fmsg`, `Fname`, `Fsize`, `Fext`,`FileDel`) VALUES ('"&MsgUID&"', '"&FileName&"','"&FileSize&"','"&FileExt&"','"&FileDel&"')"
'response.write filesSQL
adoConn.Execute(filesSQL)

getAttachments = getAttachments & "<a href=""/attachments/" &_
at.Name &""">" & at.Name & "(" & at.Size & " bytes)" &_
"</a>" & separator

Next
End Function

%>
<%
Function StripFileExt(sFileName)' works for both 3 letter and 4 letter file extensions is from Lewis Moten
If sFileName = "" Then
end if 'Exit Function
If InStr(1, sFileName, ".") = 0 Then Exit Function
StripFileExt = Right(sFileName, Len(sFileName) - InStrRev(sFileName, ".") + 1)
End Function

%>
<html>
<body>

<p>There are <%=webmail.Count%> messages!</p>

<%
If webmail.Count > 0 Then
With Response
Dim i
For i = 1 To webmail.Count


Response.Write "<BR><br>"
Response.Write( webmail.GetMessageUID (i))&"<BR><br>"
MsgUID=( webmail.GetMessageUID (i))

'get count of attachments for database
set attachments = webmail.Messages(i).Attachments
filesxCnt=attachments.Count
response.write "<br />FILES: "&filesxCnt &"<br>"

''''Let's see if this message is already in db. If so, we won't process it and its files.
chkSQL = "SELECT * FROM "&strArticlesTable&" where MsgUID="&MsgUID&""

SET chkRS = Server.CreateObject("ADODB.Recordset")
chkRS.open chkSQL, adoConn

if Not chkRS.EOF then

Response.Write "<BR>This message "&MsgUID &" is already in the database.<br>"

else
response.write "<BR>This message "&MsgUID &" being inserted into db now.<br>"

''''End check to see if already in db.

'Response.Write( webmail.Messages(i).Headers.Text )
.Write "From " & webmail.Messages(i).From
FromAddress=webmail.Messages(i).From
.Write "<br>"
.Write "Date " & webmail.Messages(i).Date
MailDate=webmail.Messages(i).Date

.Write "<br>"
.Write "Size " & webmail.Messages(i).Size
.Write "<br>"
.Write "Subject " & webmail.Messages(i).Subject
Subject=webmail.Messages(i).Subject
Subject = Replace(Subject, chr(34), "&quot;")
Subject = Replace(Subject, "'", "&#39;")

'.Write "<pre>" & webmail.Messages(i).Body &"</pre>"
'.Write "<pre>" & webmail.Messages(i).Body &"</pre>"
'.Write(webmail.Messages(i).ContentType )
'.Write(webmail.Messages(i).HTMLBody)
MsgBody=webmail.Messages(i).HTMLBody

if MsgBody="" then
MsgBody=webmail.Messages(i).Body
end if

MsgBody = Replace(MsgBody, chr(34), "&quot;")
MsgBody = Replace(MsgBody, "'", "&#39;")

.Write(webmail.Messages(i).Charset)
.Write(webmail.Messages(i).Encoding)
'decodeResults = Message.PGPDecode( true, true );
.Write "<br><br>"

Set msg = webmail.Messages(i)
getAttachments()

'''check image files dimensions
strSQL = "SELECT * FROM "&strFilesTable&" where Fmsg = "&MsgUID&" ORDER BY FID DESC"

SET objResult = Server.CreateObject("ADODB.Recordset")
objResult.open strSQL, adoConn

While Not objResult.EOF
FID = objResult("FID")
Fmsg = objResult("Fmsg")
Fname = objResult("Fname")
Fsize = objResult("Fsize")
Fext = objResult("Fext")
Fwidth = objResult("Fwidth")
Fheight = objResult("Fheight")
FileDel = objResult("FileDel")


Response.Write "<BR>"&FID&" "&Fmsg&" "&Fname&" "&Fext&" "&Fsize&" "&Fwidth&" "&Fheight&" "&FileDel&""

'test file extension - is file OK
Cal=0
imgChk = "N"
FileExt=".xls"
Dim sMyArray(14)'what we name our array and how many items in it
sMyArray(0) = ".jpg"
sMyArray(1) = ".gif"
sMyArray(2) = ".jpeg"
sMyArray(3) = ".bmp"
sMyArray(4) = ".png"
sMyArray(5) = ".jpeg"
sMyArray(6) = ".doc"
sMyArray(7) = ".txt"
sMyArray(8) = ".pdf"
sMyArray(9) = ".xls"
sMyArray(10) = ".xlsx"
sMyArray(11) = ".docx"
sMyArray(12) = ".rtf"
sMyArray(13) = ".htm"
sMyArray(14) = ".html"

For Each x In sMyArray
'now we need to set up a Case with with to compare our item to the items in the array
Select Case MatchExt 'give your case a name for identification purposes
Case Yes
if x = lcase(Fext) then
Cal = 1
end if
End select
Next
'end test file extension

'check if image file
Dim imgArray(5)'what we name our array and how many items in it
imgArray(0) = ".jpg" 'in this example, these are records I don't want code testers to be able to delete
imgArray(1) = ".gif"
imgArray(2) = ".jpeg"
imgArray(3) = ".bmp"
imgArray(4) = ".png"
imgArray(5) = ".jpeg"

For Each n In imgArray
Select Case MatchArray
Case Y
if n = lcase(Fext) then
imgChk = "Y"
end if
End select
Next
'end check if image file

'response.write Cal & imgChk
if NOT Cal=1 then
response.write " File deleted "
''start delete
response.write "- Disallowed file name."
if fs.FileExists(strAttachmentsFolder&Fname) then
fs.DeleteFile(strAttachmentsFolder&Fname)
FileDel="deleted "
response.write "<br>DELETED"&strAttachmentsFolder&Fname &"<br>"
end if
''update record in db
delSQL ="UPDATE "&strFilesTable&" SET `FileDel` ='deleted' WHERE Fmsg = '"&MsgUID&"' AND Fname ='"&Fname&"'"
response.write "<BR>"&delSQL&"<BR>"
adoConn.Execute(delSQL)
''update record end

end if


if imgChk="Y" then
response.write " Image "
' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
' Open source image
Jpeg.Open strAttachmentsFolder&Fname
FileH=Jpeg.OriginalHeight
FileW=Jpeg.OriginalWidth
''update record in db
fdtSQL ="UPDATE "&strFilesTable&" SET `Fwidth` ='"&FileW&"',`Fheight`='"&FileH&"' WHERE Fmsg = '"&MsgUID&"' AND Fname ='"&Fname&"'" 'if not mysql then remove 'for number fields
response.write "<BR>"&fdtSQL&"<BR>"
adoConn.Execute(fdtSQL)
''update record end
end if

response.write "<br />"

objResult.MoveNext

Wend
objResult.close
set objResult=nothing


' Note the first element of this array is 1
' since the POP3 server starts counting at 1
ReTo = ""
ReCC = ""

Set Recipients = msg.Recipients
separator = ", "

' We now need to get all the recipients,
' both normal and Carbon Copy (CC) recipients
' and store them in a variabel

For n = 0 To Recipients.Count - 1
If n = Recipients.Count - 1 Then
separator = ""
End If

Set re = Recipients.item(n)
If re.ReType = 0 Then
ReTo = ReTo & re.Name & "&nbsp;(" & re.EMail & ")" & separator
else
ReCC = ReTo & re.Name & "&nbsp;(" & re.EMail & ")" & separator
End If

if isnull(strFileCnt) then
strFileCnt=0
end if

Udate = DateDiff("s", "01/01/1970 00:00:00", MailDate) 'convert mail date to unix timestamp
SQL = "INSERT INTO "&strArticlesTable&" (`MsgUID`,`article_datestamp`,`article_cat`, `article_subject`,`article_snippet`, `article_article`, `article_draft`, `article_name`,`art_files`) VALUES ('"&MsgUID&"','"&Udate&"','1', '"&Subject&"','Click title to read more...', '"&MsgBody&"', '1', '1','"&filesxCnt&"')"
' response.write "<br>"&SQL&"<br>"
adoConn.Execute(SQL)
Udate=""

Next
end if
chkRS.close
set chkRS=nothing
Next
End With
End If
%>

</body>
</html>
<%
webmail.Disconnect
Set webmail = Nothing
%>
<%
else
response.write "ERROR: Couldn't connect to database"
end if

%>
<%
adoConn.close
set adoConn=nothing
%%>



FOR PHP-FUSION USERS HERE IS A SCRIPT TO MODIFY YOUR DATABASE (FOR USING THE SCRIPT ABOVE)
BACKUP YOUR DATABASE BEFORE RUNNING THIS SCRIPT
TO USE, MAKE A FOLDER FOR IT INSIDE INFUSIONS FOLDER (but it will not install/run like an infusion) THEN LOAD URL OF FILE IN BROWSER
DELETE SCRIPT AFTER USE
<?php
	
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2010 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: emailtodatabase.php
| Author: Lil Peck (ImproperUsername)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
//give file a random name fhelto54.php or something
error_reporting(E_ALL);
ini_set('display_errors', '1');


include "../../config.php";


$con = mysql_connect($db_host,$db_user,$db_pass);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db($db_name) or die(mysql_error());
echo "Connected to Database<br /><br />";

$DB_ARTICLES=$db_prefix."articles";
$DB_PANELS=$db_prefix."panels";
$DB_EFILES=$db_prefix."emailed_files";

//the following function copied from http://w3schools.invisionzone.com/index.php?showtopic=22507
function check ($r) {
if (!$r) {
$err = mysql_errno();
if ($err == 1050 || $err == 1060) {
return;
} else {
die ("Error: " . $err . ", " . mysql_error());
}
}
}
//$Q = "CREATE TABLE IF NOT EXISTS myTable (name VARCHAR(24), email VARCHAR(24))";
//CREATE TABLE IF NOT EXISTS `emailfiles` (
$Q = "CREATE TABLE IF NOT EXISTS ".$DB_EFILES ." (";
$Q =$Q ." `FID` int(11) NOT NULL AUTO_INCREMENT, \n";
$Q =$Q ." `Fmsg` int(11) NOT NULL, \n";

$Q =$Q ." `Fname` varchar(255) CHARACTER SET utf8 NOT NULL, \n";

$Q =$Q ." `Fext` varchar(30) CHARACTER SET utf8 NOT NULL, \n";

$Q =$Q ." `Fsize` int(11) NOT NULL DEFAULT '0', \n";

$Q =$Q ." `Fwidth` int(11) NOT NULL DEFAULT '0', \n";

$Q =$Q ." `Fheight` int(11) NOT NULL, \n";

$Q =$Q ." `FileDel` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT 'OK', \n";

$Q =$Q ." PRIMARY KEY (`FID`) \n";

$Q =$Q ." ) ENGINE=MyISAM ;";
echo "<P>SQL: ".$Q ."</p>";

$result = mysql_query($Q);
check ($result);
//$Q = "ALTER TABLE myTable ADD name VARCHAR(24);";


//Add mew fields to articles table
//$Q = "ALTER TABLE ".$DB_ARTICLES." ADD unique MsgUIDx int(10) NOT NULL DEFAULT '0', ADD unique art_filesx int(5) NOT NULL DEFAULT '0'";

$Q = "ALTER TABLE ".$DB_ARTICLES." ADD (MsgUIDx int(10) NOT NULL DEFAULT '0',art_filesx int(5) NOT NULL DEFAULT '0')";


$result = mysql_query($Q);
check ($result);


$Q = "INSERT INTO ".$DB_PANELS. " (`panel_name`, `panel_filename`, `panel_content`, `panel_side`, `panel_order`, `panel_type`, `panel_access`, `panel_display`, `panel_status`) VALUES('emailed_articles', 'email_import_panel','','4','3','file','0','0','1')";

$result = mysql_query($Q);
check ($result);

$Q = "SELECT * FROM ".$DB_PANELS;
$result = mysql_query($Q);
while ($info = mysql_fetch_assoc($result)) {
print_r ($info);
echo "<br>";
}
echo "<p>DELETE this file after use!</p>";

mysql_close($con);
?>


 

 


ASP Examples Menu of Active Server Pages scripts code Classic ASP

Classic ASP Active Server Pages Examples, code, tutorials, scriptsASP Examples Menu (below*)



Active Server Pages | ASP | Scripts | Tutorials | Code | Web Programming | Examples
Active Server Pages ASP code examples, tutorials, and snippets for use in Programming interactive websites.

If you find omissions or errors let me know. I have moved these code samples to their own domain; if you find pieces missing, please let me know.
My favorite scripts site is CODANGO.

*

If any the information I've posted here has been useful to you, please donate.

Quick 'n  easy  dirty PHP script code wizard-generator

Zenphoto RSS XML feed used as data source for javascript slide show with PHP

Classic ASP to archive emails into database and save attached files to folder

PHP Image GD for thumbnails and image resizing with pathing for Windows servers

ODBC database connections for Microsoft Access MDB files with Windows 7: solution posted on this forum.

HTML5 embedded video player "Projekktor" completely skinnable with hyperlinked watermark

Edit web.config to allow Windows iis7 server to handle mp4 files or other mime types as needed

URL rewrite or make friendly URLs for iis7 Windows Server 2008 by editing your web.config file

FACEBOOK API GEEWHIZ - INTEGRATE FACEBOOK WITH YOUR WEBSITE

Use PHP to zip folders for backing up a website

Use PHP to archive emails in database and save attached files to folder

Use PHP with json to check how many hits left on Twitter API

PHP get single record from Access database without catchable fatal error message

PHP to make a bot to send automatic Twitter status updates with Abraham Williams' PHP Oauth Twitter Library

A way to use the PHP Oauth Twitter Library with your Classic ASP scripts for sending status updates

Get user's IP address location for your form results

Tutorial for registering an application with Twitter

Update your Twitter status with Classic ASP and Oauth seamlessly and invisibly without having to login to Twitter. Send status updates programmatically from a web page. PHP example too.

CLASSIC ASP: Cache your Twitter tweets in a database to keep your Twitter xml requests within the rate limit of 350 per hour / PHP VERSION

PHP: Use json to fetch Twitter followers' profiles

Index files content and insert into database for faster searches

Classic ASP with Ajax: secure URL check

Classic ASP with Ajax: referer check

Classic ASP with Ajax: a solution to the ampersand problem in querystrings

Very Simple Star Rating System for Classic ASP

Star Rating System uses CSS and JS adapated for Classic ASP from Yvo Schaap PHP script

XMLhttp with ASP to fetch and save photos from Photobucket account through RSS XML. Can be adapted for Youtube videos to import data to database.

NET image resize can be used to make thumbnails for Classic ASP

Track site visitors, get their ip address geographical data, count page views with Classic ASP

Javascript slideshow with Classic ASP to load image details dynamically from database photos table

Classic ASP with Ajax for rotating banners without page refresh and XML file converted to recordset as banner database
--Variation of the above but fetching a REMOTE XML file as the database
--Variation checks for secure URL and builds absolute URL and makes offsite banner links open in new window

True inline edit Classic ASP datagrid table database edit updating with Ajax SIMPLE EASY without page refresh!

Use Ajax with Classic ASP to preview data then update form with javascript url write

Yvo Schaap's easy inline edit Ajax: an example of using it to inline edit multiple rows of records in Classic ASP

Use Classic ASP to send text messages SMS from your website (Also shows how to use xmlhttp to post form data)

Ajax with Classic ASP for seamless, no page reload database record insertion

Nested SQL Statements to make temporary column names

Multiple records per row with paging

Display multiple records per row

Get ID of newly inserted record, Classic ASP, Access Database

Javascript timer with ASP to keep track of time expired until login expires / timeout session is up

Multiple Javascript event functions triggered from single form onsubmit

Get Querystring key names along with querystring variables

These are out of date but may still be of interest:

ASP Youtube Downloader  Version FOUR
All ASP code. Allows user client side downloads of Youtube videos. You have the option to allow files to be saved directly to your site also.
ASP/PHP video downloader (Works better than ASP for large files)

Use ASP to dynamically parse a Youtube XML playlist to render to html.

Zip up an archive file of your site for backup if you need to restore website with ASP and free Zip Component.

Zip all files in a folder into an archive or backup file dynamically by specific file extension.

Sanitize or clean price cost field for database insertion or display.

Javascript image dimensions and image file size preview.

Put recordset into array, assign keys to the records then use record associated with specific array key as a variable elsewhere.

Access Database Interface Generator Wizard to read your table and field names and to create a table display.

Combining dropdown selection box menu with dynamic ASP database page.

How to redirect user to original page they tried to view before logging, after they are logged in.

Previous/Current/Next Records, or Buddy Ring Script

Custom ASP 404 page not found error script: can also be used for URL rewriting

ASP Example: Combine ASP with Javascript for popup windows
dynamically sized to image dimensions.

ASP Example: How to use ASPJPEG to create thumbnails
Click for free Highly recommended thumbnailer for which you don't need Server access (doesn't seem to work on Windows Server 2008)

ASPjpeg: How to re-scale aspect ratio of thumbnails by height instead of width.

ASP Example: What if your host has an older version of ASPJPEG that doesn't support gifs?

Select Count Distinct Records for Access Database

Upload Image to folder and insert filename into database

Get date in such a way that it can be made part of a file name

Isolate a file name away from its path or extension or strip a path from a file name or strip characters from database field

User-customized on-the-fly stylesheet css files

Enhanced Page Hits Counter (also counts downloads and menu link hits)

Loop through array and compare to string with select case

Aphabetical Paging for your ASP scripts

Web Wiz Guide's Site Searcher Script modified as a file content indexer

Let Users Select How Many Records to View

Access Database for your PayPal IPN scripts

Miscellaneous collected code

From Classic ASP to PHP

You don't have to be a genius, just persistent, to write original Active Server Pages scripts

BuildApp - great old Classic ASP script generator!

Software Recommendation: bare_bones_no_bells_and_whistles_asp_code_generator_database_interface_maker (For PHP I recommend EasyGen.)

If any of this information is helpful to you, please consider donating with the button below. Thanks! ~~Lil