Hi everyone,
Can anyone please tell me what's wrong with this code?
When I try to submit the form, it just reloads the page.
It never gets to the "sub addreport"
Thanks so much.

#!/usr/bin/perl

# Locate and load required files
eval {
        # Get the script location (for UNIX and Windows)
        ($0 =~ m,(.*)/[^/]+,)   && unshift (@INC, "$1");

        # Get the script location (for Windows)
        ($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1");

        # Load files
        require "settings.cgi";
        require "common.sub";
};

# Read the form
&readform;

&reportit;




########################### SUBROUTINES ###########################


# Display new member registration form
sub reportit {

        # Load common vocabulary
        require "$tmplpath/common.txt";

        # Load Registration Form template
        require "$tmplpath/reportit.tmpl";

        # Smut filter indicator
        $showsmutswitch = "<a
href=\"javascript:popup('$scripturl/members.cgi?action=showsmut')\">$commonv
oc[35]</a>$commonvoc[36]" if $badwords;


        # Registration Form
        $FORM_SUB = qq(<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from non-JavaScript browsers
function Check_Data() {
        if (!document.adform.name.value || !document.adform.email.value ||
!document.adform.title.value ||
                        !document.adform.description.value) {
                alert("$commonvoc[30]");
                return false;
        } else {
                return true;
        }
}
function popup(url)
{
        newwindow=window.open(url,'name','height=200,width=300,scrollbars');
        if (window.focus) {newwindow.focus()}
}
// Stop hiding --->
</SCRIPT>
<div align="center">
  <h3><font face="$fontname" size="$fontsize"><b>$tempvoc[0]</b></font></h3>
  <form method="post" action="$scripturl/reportit.cgi" name="adform"
onSubmit="return Check_Data();">
    <input type="hidden" name="action" value="addreport">
    <table width="$tablewidth" border="0" cellspacing="1" cellpadding="3">
      <tr>
        <td bgcolor="$headcolor" colspan="2"><font face="$sfontname"
size="$sfontsize">$tempvoc[1]</font></td>
      </tr>
      <tr bgcolor="$primcolor">
        <td><font face="$fontname"
size="$fontsize"><b>$commonvoc[66]*</b></font></td>
        <td>
          <input type="text" name="name" maxlength="35" size="30">
        </td>
      </tr>
      <tr bgcolor="$seconcolor">
        <td><font face="$fontname"
size="$fontsize"><b>$commonvoc[67]*</b></font></td>
        <td>
          <input type="text" name="email" maxlength="50" size="30">
        </td>
      </tr>
      <tr bgcolor="$seconcolor">
        <td><font face="$fontname"
size="$fontsize"><b>$commonvoc[68]*</b></font></td>
        <td bgcolor="$seconcolor">
          <input type="text" name="title" maxlength="100" size="30">
        </td>
      </tr>
      <tr bgcolor="$primcolor">
        <td><font face="$fontname"
size="$fontsize"><b>$commonvoc[69]*</b></font></td>
        <td>
                <textarea NAME="description" WRAP="virtual" ROWS="6" 
COLS="40"></textarea>
        </td>
      </tr>
      <tr>
        <td bgcolor="$headcolor" colspan="2"><font face="$sfontname"
size="$sfontsize">$commonvoc[21] $showsmutswitch</font></td>
      </tr>
    </table>
    <br>
    <input type="submit" name="submit" value="$commonvoc[24]">
    <input type="button" name="cancel" value="$commonvoc[26]"
onClick="history.back()">
    <br>
  </form>
</div>);

        # Perform template substitutions
        $temphtml =~ s/\{FORM\}/$FORM_SUB/g;

        # Display the screen
        &showscreen;
}


# Add new member to the database
sub addreport {

        # Check referring URL
        &urlcheck;

        # Check form fields
        if ($FORM{'name'} !~ /\S/) {
                push(@badfields, 3);
        }

        if ($FORM{'email'} !~ /[\w\-]+\@[\w\-]+\.[\w\-]+/) {
                push(@badfields, 4);
        }

        if ($FORM{'title'} !~ /\S/) {
                push(@badfields, 6);
        }

        if ($FORM{'description'} !~ /\S/) {
                push(@badfields, 7);
        }
        # Display errors, if any
        &formerror;

        # Block Checker
        &blocker($ENV{'REMOTE_ADDR'}, "IP Address",
                 $FORM{'email'}, "E-Mail Address");

        # Check for bad/rude words

&smut_detect($FORM{'name'},$FORM{'email'},$FORM{'title'},$FORM{'description'
});

        # Strip html tags

&htmlstrip($FORM{'name'},$FORM{'email'},$FORM{'title'},$FORM{'description'})
;

        # Get current time
        $curtime = time();


                # Add member to the waiting list
                open(RLIST,">>$membpath/reportit.cgi") || err("Could not update
reportit.cgi: $!");
                flock(RLIST,2);
                seek(RLIST,0,2);
                print RLIST
"$ENV{'REMOTE_ADDR'}\t$curtime\t$FORM{'name'}\t$FORM{'email'}\t$FORM{'title'
}\t$FORM{'description'}\n";
                close(RLIST);

                # Notify administrator of new application
                if ($regadmin) {
                        $msgtext = "$FORM{'name'} has just applied to register with 
your Top
Sites script!\n".

"-----------------------------------------------------------------------\n\n
".
                                   "Note: this message was generated by Top Sites 
script.\n".
                                   "You can turn this notification off by adjusting 
the script
options.\n";
                        &sendmail($adminemail, $adminemail, "New Top Sites membership
application!", $msgtext);
                }

                # Send Waiting Approval Message
                if ($appuseremail) {
                                $appmsg =~ s/\[name\]/$FORM{'name'}/g;
                                $appmsg =~ s/\[email\]/$FORM{'email'}/g;
                                $appmsg =~ s/\[title\]/$FORM{'title'}/g;
                                &sendmail($adminemail, $FORM{'email'}, $appsubject, 
$appmsg);
                }

                # Show Success Screen
                &confirm(14,8,"$scripturl/index.cgi");

}



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to