Jordan Alexander Howell
Yes, indeedy- Jordan
has a new website, along with
his father (
Bob Howell). He is
starting to branch out into
building websites as a
"job"...so if you are considering
hiring "him" do not look at this
website to get a jist of his
personality. THIS SITE ISN'T
BEING UPDATED. IT IS
ATROCIOUS, but look around if
you dare...you should find some
interesting things...or, if it
works, leave a message in this
guestbook here.
I'm George W. Bush, and
I approve this message!
<---
For questions or comments about
the quality of our food, the websites,
or contacting, email
jordan@bobhowellsaxophone.com
Yeah click on that link to see
the link of that link that
isssssss... NEW PHILLY
SKATE PARK!!!
You need Java to see this applet.
Counter
Los aficionados de Jordainio Howellio
# use modules use CGI qw(:standard); $query = new CGI; #************************************************ #set variables for setup $program_file = "sprainbook.cgi"; $program_name = "sprainbook"; $version = "v1.35"; $copyright ="(c)2001-2003 sprain"; $del1 ="-!-!-!-!-"; $del2 =":-:-:"; $setupfile = "sprainbook_setup.txt"; $passfile = "sprainbook_pass.txt"; $entryfile = "sprainbook_entries.txt"; #************************************************ #read variables for program $REQUIRED = param('required'); $CHECKEMAIL = param('checkemail'); $CHECKURL = param('checkurl'); #read variables for setup $action = $query->param('action'); $pass1 = $query->param('PASS1'); $pass2 = $query->param('PASS2'); $user = $query->param('USER'); $user = $query->param('USER'); $setup_template = $query->param('TEMPLATE'); $setup_email = $query->param('EMAIL'); $setup_subject = $query->param('SUBJECT'); $setup_badwords = $query->param('BADWORDS'); $setup_replace = $query->param('REPLACE'); $setup_perpage = $query->param('PERPAGE'); $setup_dateformat = $query->param('DATEFORMAT'); $sendmail = $query->param('SENDMAIL'); $setup_mail = $query->param('MAIL'); $setup_oopspage = param('OOPSPAGE'); $setup_ownoops = param('OWNOOPS'); $setup_html = param('HTML'); #************************************************ #choose sub for program if ($action eq "newentry"){newentry();} if ($action eq "make_pass"){make_pass();} if ($action eq "check_pass"){check_pass();} if ($action eq "ask_pass"){ask_pass();} #choose sub for setup if ($ENV{'QUERY_STRING'} eq "setup"){setup();} if ($action eq "make_setup"){make_setup();} if ($action eq "make_pass"){make_pass();} if ($action eq "check_pass"){check_pass();} if ($action eq "ask_pass"){ask_pass();} #************************************************ # start real program check_setup(); read_setup(); #************************************************ # Here comes the real script #************************************************ # read template $templatefile.=$_; } #while close(FILE); #search for sprainbook-part @template=split(/\[REPEAT\]/,$templatefile); @template2=split(/\[REPEAT_END\]/,$template[1]); $realpart=$template2[0]; #prepare reading entries $fromentry=$ENV{'QUERY_STRING'}; if ($fromentry=~ /\D/ || $fromentry eq "" || $fromentry == 0){$fromentry=1;} $untilentry=($fromentry+$setup_perpage)-1; #read entries $counter=0; $path=$entryfile; #only if entry file exists if (-e $path){ open(FILE, $path) || baderror("001"); #prepare output while() { $entryline = $_; $make_output=$realpart; @entry1=split(/$del1/,$entryline); foreach $entryvalue(@entry1){ @entry2=split(/$del2/,$entryvalue); $name = $entry2[0]; $value = $entry2[1]; #format date if($name eq "DATE"){$value=&make_date($value,$setup_dateformat);} #censor bad words @badwords=split(/,/,$setup_badwords); foreach $badword(@badwords){ $value =~s /$badword/$setup_replace/gi; }#foreach #substitute $value=&ersetzen($value); $make_output=~ s/\[$name\]/$value/g; #does if-field exist? if($make_output=~ /\[IF_$name\]/){ if($value eq ""){ push(@if_fields,$name); } #if }#if } #foreach #count $counter++; #delete empty if-fields while (@if_fields){ $if_field=pop(@if_fields); $make_output=~ s/\[IF\_$if_field\].*?\[IF\_$if_field\_END\]//gs;; }#while #delete if-fields $make_output=~ s/\[IF\_.*?\]//gs;; $make_output=~ s/\[IF\_.*?\_END\]//gss; #is entry to be displayed? if ($counter >= $fromentry && $counter <= $untilentry){ $outputline.=$make_output; } #if } #while close(FILE); } #if #count pages $pages = int($counter/$setup_perpage); if ($counter>($setup_perpage*$pages)){$pages++;} #make pages line $total = $counter; $counter=1; while ($counter<=$pages){ $pagevalue=(($counter-1)*$setup_perpage)+1; if ((($counter-1)*$setup_perpage)<$fromentry && (($counter)*$setup_perpage)+1>$fromentry){ $pageline .= "$counter<\/b> "; }else{ $pageline .= "$counter<\/a> "; } #if $counter++; } #finish output $output = $template[0].$outputline.$template2[1]; $output =~ s/\[PAGES\]/$pageline/g; $output =~ s/\[TOTAL\]/$total/g; #output start_html(); print header(); print <param; # split required-fields $REQUIRED=~s/\012//g; $REQUIRED=~s/\015//g; $REQUIRED=~s/ //g; @required=split(/,/,$REQUIRED); # check required-fields foreach $test_required(@required) { $test_now=param($test_required); #does field exist? $checker = 2; foreach $checkit(@names){ if ($checkit eq $test_required){$checker = 1;} } #foreach # if field has not been found give warning if ($checker == 2){configerror("Error 102:<\/b>
The required field '$test_required' has not been found.
Please contact the owner of this script:
$setup_email<\/a>");} # if field exists check it if ($test_now eq "") { if ($setup_oopspage ne "" && $setup_ownoops eq "yes"){ print $query->redirect($setup_oopspage); exit; } else { oopspage("Make sure you filled in all required fields!"); } #if } #if } #foreach #checkemail if ($CHECKEMAIL ne ""){ #does field exist? my $checker = 2; foreach $checkit(@names){ if ($checkit eq $CHECKEMAIL){$checker = 1;} } #foreach # if field has not been found give warning if ($checker == 2){configerror("Error 101:<\/b>
The field defined for e-mail check ($CHECKEMAIL) has not been found.
Please contact the owner of this script:
$setup_email<\/a>");} # if exists check email if (&checkemail(param($CHECKEMAIL)) == 0 && param($CHECKEMAIL) ne ""){ if ($setup_oopspage ne "" && $setup_ownoops eq "yes"){ print $query->redirect($setup_oopspage); exit; } else { oopspage("The email address you entered is not valid!"); } #if }#if } #if #read all values foreach(@names) { $name = $_; if ($name ne "action" && $name ne "required" && $name ne "checkemail" && $name ne "checkurl"){ # read all fields except some special fields $value = $query->param($name); #URL-Check if necessary if ($CHECKURL ne ""){ if ($name eq $CHECKURL && $value ne ""){$value=&checkurl($value);} }#if #do some silly stuff with values chomp($value); #prepare mail $mail_content .= "$name: $value\n\n"; #kill newlines $value =~s /\015\012|\015|\012/
/g; #prepare entry $newentryline .= $name.$del2.$value.$del1; } #if } #foreach #get date $date = time(); $newentryline .= "DATE".$del2.$date."\n"; #make entry $path=$entryfile; if (-e $path){ open(FILE, $path) || baderror("002"); while () { $oldentries .= $_ } #while close(FILE); } #if open(DAT, ">$path") || baderror("003"); flock(DAT, 1); print DAT $newentryline; print DAT $oldentries; flock(DAT, 8); close(DAT); #send mail if($setup_mail eq "yes"){ mail(); } #if } #sub #************************************************ sub oopspage{ my $oops_message=$_[0]; start_html(); print header(); print <

Oops!

An error has occured:

$oops_message

to previous page



$program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ sub configerror{ my $oops_message=$_[0]; start_html(); print header(); print <

Config Error

An error has occured:

$oops_message

to previous page



$program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ # Setup Stuff #************************************************ sub setup{ #if making setup is allowed get_pass(); } #sub #************************************************ sub ask_setup{ $setup_file_exist=$_[0]; #Does setup file exist? 1=no, 2=yes if ($setup_file_exist != 1){ #if yes, read variables read_setup(); } print_setup_page(); } #sub #************************************************ sub make_setup{ #check setup (1=not valid; 2=valid) $setup_valid=2; $setup_message=""; if (($setup_template eq "")|| $setup_template =~ /\s/){$setup_valid=1; $setup_message.="
  • The 'Path to Template' you specified is not valid";} if ($setup_perpage =~ /\D/){$setup_valid=1; $setup_message.="
  • The 'Number of entries per page' you specified is not valid";} if ($setup_ownoops eq "yes"){ if ($setup_oopspage !~ /^http:\/\//){$setup_valid=1; $setup_message.="
  • The 'URL to your error page' you specified is not valid";} }else{ $setup_ownoops = "no"; } #if if ($setup_dateformat eq ""){$setup_valid=1; $setup_message.="
  • The 'date format' you specified is not valid";} if ($setup_mail eq "yes"){ if ($sendmail !~ /^\// || $sendmail =~ /\s/){$setup_valid=1; $setup_message.="
  • The 'Path to sendmail' you specified is not valid";} if (&checkemail($setup_email) == 0){$setup_valid=1; $setup_message.="
  • The E-mail address you specified is not valid";} if ($setup_subject eq ""){$setup_valid=1; $setup_message.="
  • The 'Subject' you specified is not valid";} }else{ $setup_mail = "no"; } #if unless($setup_html eq "yes"){$setup_html = "no";} $setup_badwords=~s/\012//g; $setup_badwords=~s/\015//g; $setup_badwords=~s/ //g; if ($setup_valid==1){ #if setup is not valid print_setup_page(); } else { #if setup is valid #write setup file $path=$setupfile; open(DAT, ">$path") || baderror("004"); print DAT $setup_template.$del1.$setup_email.$del1.$setup_subject.$del1.$setup_badwords.$del1.$setup_replace.$del1.$setup_perpage.$del1.$setup_dateformat.$del1.$sendmail.$del1.$setup_mail.$del1.$setup_ownoops.$del1.$setup_oopspage.$del1.$setup_html; close(DAT); $setup_message.="
  • Your setup has been updated!"; print_setup_page(); } #if } #sub #************************************************ sub print_setup_page{ #Date-Variations $date1=&make_date(time(),1); $date2=&make_date(time(),2); $date3=&make_date(time(),3); $date4=&make_date(time(),4); $date5=&make_date(time(),5); $date6=&make_date(time(),6); $date7=&make_date(time(),7); $date8=&make_date(time(),8); $date9=&make_date(time(),9); $date10=&make_date(time(),10); $date11=&make_date(time(),11); $date12=&make_date(time(),12); $date13=&make_date(time(),13); $date14=&make_date(time(),14); $date15=&make_date(time(),15); $date16=&make_date(time(),16); $date17=&make_date(time(),17); $date18=&make_date(time(),18); $date19=&make_date(time(),19); $date20=&make_date(time(),20); if($setup_dateformat!=0){ $setup_date=&make_date(time(),$setup_dateformat); }#if if($setup_mail eq "yes"){$mailchecked="checked";} if($setup_ownoops eq "yes"){$oopschecked="checked";} if($setup_html eq "yes"){$htmlchecked="checked";} # print setup page start_html(); print header(); print <

    $program_name Setup

    $setup_message

    You need to setup your $program_name first! If you don't know some of the information ask your hoster!
    Paths
    Path to your template (based on website root, no starting slash):



    sprainbook
    Number of entries on one page:


    Select how you want the date to be formatted:


    Bad words which will be censored (separate with comma)


    Expression to replace bad words with:


    Allow HTML-Tags

    Check if you want to use your own error page

    URL to error page (incl. 'http://'):



    E-Mail
    Check if you want to get an e-mail for new entry

    E-mail address which gets information when there is a new guestbook entry:


    Subject of message which tells you about a new guestbook entry:


    Path to sendmail:


    $program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ sub check_setup{ if(-e $setupfile){}else{ start_html(); print header(); print <

    Oops!

    Before running this program run setup.
    Read readme.txt for more information.

    If you're not the owner of this program please inform the owner.

    to previous page

    $program_name $version, $copyright START_HTML end_html(); exit; } #if } #sub #************************************************ sub read_setup{ $path=$setupfile; open(FILE, $path) || setup(); while () { @variables = split(/$del1/); } #while close(FILE); $setup_template = $variables[0]; $setup_email = $variables[1]; $setup_subject = $variables[2]; $setup_badwords = $variables[3]; $setup_replace = $variables[4]; $setup_perpage = $variables[5]; $setup_dateformat = $variables[6]; $sendmail = $variables[7]; $setup_mail = $variables[8]; $setup_ownoops = $variables[9]; $setup_oopspage = $variables[10]; $setup_html = $variables[11]; } #sub #************************************************ # Password Stuff #************************************************ sub ask_pass{ # print make password page start_html(); print header(); print <

    $program_name Password

    You need to create a password first!

    Username:


    Password (4 to 8 characters, case-sensitive):


    Re-type Password (just to make sure you didn't misspell it):






    $program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ sub make_pass{ #check Password (1=not valid; 2=valid) $pass_valid=2; if (length($pass1)<4){$pass_valid=1;} if ($pass1=~ /\W/){$pass_valid=1;} if ($pass1 ne $pass2){$pass_valid=1;} #check Username if (length($user)<4){$pass_valid=1;} if ($user=~ /\W/){$pass_valid=1;} # if password not valid if ($pass_valid==1){ start_html(); print header(); print <

    $program_name Password

    Oops! Something wrent wrong! Try again.

  • Make sure your username and password only contains a-z, A-Z and 0-9
  • Both username and password must have at least 4 characters
  • The two passwords you type in must be the same!
    Username:


    Password (4 to 8 characters, case-sensitive):


    Re-type Password (just to make sure you didn't misspell it):




    $program_name $version, $copyright START_HTML end_html(); exit; } #if #write passwd file $path=$passfile; open(DAT, ">$path") || baderror("005"); print DAT $user.$del1.crypt($pass1,$pass1); close(DAT); #do setup $setup_message="Your password has been created!<\/b>

    "; if(-e $setupfile){ask_setup(2);}else{ask_setup(1);} } #sub #************************************************ sub get_pass{ read_pass(); # print password page start_html(); print header(); print <

    $program_name Password

    Enter your password!

    Username:


    Password:




    $program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ sub check_pass{ #check password read_pass(); if (crypt($pass1,$pass1) ne $PASS || $user ne $USER){ # if password is wrong start_html(); print header(); print <

    $program_name Password

    The password you entered was wrong! Try again.

    Username:


    Password:




    $program_name $version, $copyright START_HTML end_html(); exit; } else { # if password is right if(-e $setupfile){ask_setup(2);}else{ask_setup(1);} }#if } #sub #************************************************ sub read_pass{ $path=$passfile; open(FILE, $path) || ask_pass(1); while () { @variables = split(/$del1/); } #while close(FILE); $USER = $variables[0]; $PASS = $variables[1]; } #sub #************************************************ # Misc Stuff #************************************************ sub checkemail { my $testmail = $_[0]; if ($testmail =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ || $testmail !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/ || $testmail =~ / /) { return 0; } else { return 1; } }#sub #************************************************ sub checkurl{ my $checkurl=$_[0]; if ($checkurl !~ /^http/ && $checkurl !~ /^ftp/){$checkurl="http://".$checkurl;} return $checkurl; }#sub #************************************************ sub make_date{ my $datevalue = $_[0]; my $datestyle = $_[1]; $Jetztzeit = localtime($datevalue); if ($datestyle==1 ||$datestyle==2 ||$datestyle==3 ||$datestyle==4 ||$datestyle==5 ||$datestyle==6 || $datestyle==11||$datestyle==12||$datestyle==13||$datestyle==14||$datestyle==15||$datestyle==16) {&change_date_no;} if ($datestyle==7||$datestyle==8||$datestyle==9||$datestyle==10||$datestyle==17||$datestyle==18||$datestyle==19||$datestyle==20){&change_date_words;} @Zeit = split(/ +/,$Jetztzeit); if ($datestyle==2||$datestyle==4||$datestyle==6||$datestyle==8||$datestyle==10||$datestyle==12||$datestyle==14||$datestyle==16||$datestyle==18||$datestyle==20){$Zeit[4]=substr($Zeit[4],2,2);}; if ($datestyle==1) {$datum=$Zeit[2]."/".$Zeit[1]."/".$Zeit[4];} if ($datestyle==2) {$datum=$Zeit[2]."/".$Zeit[1]."/".$Zeit[4];} if ($datestyle==3) {$datum=$Zeit[1]."/".$Zeit[2]."/".$Zeit[4];} if ($datestyle==4) {$datum=$Zeit[1]."/".$Zeit[2]."/".$Zeit[4];} if ($datestyle==5) {$datum=$Zeit[2].".".$Zeit[1].".".$Zeit[4];} if ($datestyle==6) {$datum=$Zeit[2].".".$Zeit[1].".".$Zeit[4];} if ($datestyle==7) {$datum=$Zeit[2]." ".$Zeit[1]." ".$Zeit[4];} if ($datestyle==8) {$datum=$Zeit[2]." ".$Zeit[1]." ".$Zeit[4];} if ($datestyle==9) {$datum=$Zeit[4]." ".$Zeit[1]." ".$Zeit[2];} if ($datestyle==10){$datum=$Zeit[4]." ".$Zeit[1]." ".$Zeit[2];} if ($datestyle==11) {$datum=$Zeit[2]."/".$Zeit[1]."/".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==12) {$datum=$Zeit[2]."/".$Zeit[1]."/".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==13) {$datum=$Zeit[1]."/".$Zeit[2]."/".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==14) {$datum=$Zeit[1]."/".$Zeit[2]."/".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==15) {$datum=$Zeit[2].".".$Zeit[1].".".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==16) {$datum=$Zeit[2].".".$Zeit[1].".".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==17) {$datum=$Zeit[2]." ".$Zeit[1]." ".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==18) {$datum=$Zeit[2]." ".$Zeit[1]." ".$Zeit[4]." - ".$Zeit[3];} if ($datestyle==19) {$datum=$Zeit[4]." ".$Zeit[1]." ".$Zeit[2]." - ".$Zeit[3];} if ($datestyle==20) {$datum=$Zeit[4]." ".$Zeit[1]." ".$Zeit[2]." - ".$Zeit[3];} return $datum; }#sub #************************************************ sub change_date_no{ $Jetztzeit =~ s/Jan/01/; $Jetztzeit =~ s/Feb/02/; $Jetztzeit =~ s/Mar/03/; $Jetztzeit =~ s/Apr/04/; $Jetztzeit =~ s/May/05/; $Jetztzeit =~ s/Jun/06/; $Jetztzeit =~ s/Jul/07/; $Jetztzeit =~ s/Aug/08/; $Jetztzeit =~ s/Sep/09/; $Jetztzeit =~ s/Oct/10/; $Jetztzeit =~ s/Nov/11/; $Jetztzeit =~ s/Dec/12/; } sub change_date_words{ $Jetztzeit =~ s/Jan/January/; $Jetztzeit =~ s/Feb/February/; $Jetztzeit =~ s/Mar/March/; $Jetztzeit =~ s/Apr/April/; $Jetztzeit =~ s/May/May/; $Jetztzeit =~ s/Jun/June/; $Jetztzeit =~ s/Jul/July/; $Jetztzeit =~ s/Aug/August/; $Jetztzeit =~ s/Sep/September/; $Jetztzeit =~ s/Oct/October/; $Jetztzeit =~ s/Nov/November/; $Jetztzeit =~ s/Dec/December/; } #************************************************ sub ersetzen{ my $ersetzen=$_[0]; unless($setup_html eq "yes"){ $ersetzen=~s/
    /BREAK_IT/gs; $ersetzen=~s/&/&/gs; $ersetzen=~s//>/gs; $ersetzen=~s/"/"/gs; $ersetzen=~s/BREAK_IT/
    /gs; }#if $ersetzen=~s//¡/gs; $ersetzen=~s//¢/gs; $ersetzen=~s//£/gs; $ersetzen=~s//¥/gs; $ersetzen=~s//§/gs; $ersetzen=~s//¨/gs; $ersetzen=~s//©/gs; $ersetzen=~s//ª/gs; $ersetzen=~s//«/gs; $ersetzen=~s//¬/gs; $ersetzen=~s//®/gs; $ersetzen=~s//¯/gs; $ersetzen=~s//°/gs; $ersetzen=~s//±/gs; $ersetzen=~s//´/gs; $ersetzen=~s//µ/gs; $ersetzen=~s//¶/gs; $ersetzen=~s//·/gs; $ersetzen=~s//º/gs; $ersetzen=~s//»/gs; $ersetzen=~s//¿/gs; $ersetzen=~s//À/gs; $ersetzen=~s//Á/gs; $ersetzen=~s//Â/gs; $ersetzen=~s//Ã/gs; $ersetzen=~s//Ä/gs; $ersetzen=~s/?/Å/gs; $ersetzen=~s//Æ/gs; $ersetzen=~s//Ç/gs; $ersetzen=~s//È/gs; $ersetzen=~s//É/gs; $ersetzen=~s//Ê/gs; $ersetzen=~s//Ë/gs; $ersetzen=~s//Ì/gs; $ersetzen=~s//Í/gs; $ersetzen=~s//Î/gs; $ersetzen=~s//Ï/gs; $ersetzen=~s//Ñ/gs; $ersetzen=~s//Ò/gs; $ersetzen=~s//Ó/gs; $ersetzen=~s//Ô/gs; $ersetzen=~s//Õ/gs; $ersetzen=~s//Ö/gs; $ersetzen=~s//×/gs; $ersetzen=~s//Ø/gs; $ersetzen=~s//Ù/gs; $ersetzen=~s//Ú/gs; $ersetzen=~s//Û/gs; $ersetzen=~s//Ü/gs; $ersetzen=~s//ß/gs; $ersetzen=~s//à/gs; $ersetzen=~s//á/gs; $ersetzen=~s//â/gs; $ersetzen=~s//ã/gs; $ersetzen=~s//ä/gs; $ersetzen=~s//å/gs; $ersetzen=~s//æ/gs; $ersetzen=~s/?/ç/gs; $ersetzen=~s/?/è/gs; $ersetzen=~s//é/gs; $ersetzen=~s/?/ê/gs; $ersetzen=~s//ë/gs; $ersetzen=~s//ì/gs; $ersetzen=~s//í/gs; $ersetzen=~s//î/gs; $ersetzen=~s//ï/gs; $ersetzen=~s//ñ/gs; $ersetzen=~s//ò/gs; $ersetzen=~s//ó/gs; $ersetzen=~s//ô/gs; $ersetzen=~s//õ/gs; $ersetzen=~s//ö/gs; $ersetzen=~s//ø/gs; $ersetzen=~s/?/ù/gs; $ersetzen=~s//ú/gs; $ersetzen=~s//û/gs; $ersetzen=~s//ü/gs; $ersetzen=~s//ÿ/gs; $ersetzen=~s//ä/gs; $ersetzen=~s//ö/gs; $ersetzen=~s//ü/gs; $ersetzen=~s//Ä/gs; $ersetzen=~s//Ö/gs; $ersetzen=~s//Ü/gs; return $ersetzen } #************************************************ sub baderror{ start_html(); my $error_no = $_[0]; print header(); print <

    Baaaad Error!!

    Oh boy! A real bad error has occured!
    I don't even know what it is.
    I think you should contact sprain.

    $program_name $version, $copyright START_HTML end_html(); exit; } #sub #************************************************ sub mail{ open(MAIL,"|$sendmail -t") || die; print MAIL "To: $setup_email\n"; print MAIL "From: $setup_email\n"; print MAIL "Subject: $setup_subject\n"; print MAIL "Content-Type: text/plain\n\n"; print MAIL "$mail_content\n"; close(MAIL); }#sub
  • Click here or
    here to see
    the new page
    just for
    The
    Reed
    Phenomenon
    .
    Go Phillies!
    Mouseover this image!
    Your name:
    Your email address:
    Your phone number:
    Comments:
    Counter