简体   繁体   中英

Contact form won't submit

Please help. This form used to submit, but it won't anymore. I can't figure out what the problem is. Just keeps returning the page, with the form filled in.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>15 Fingers LLC</title>
<link href="style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="js/url_parser.js"></script>
<script type="text/javascript" src="js/nav_highlight.js"></script>

</head>
<body class="wires">
    <div id="container">
        <?php include('includes/header.php'); ?>

                                <div  id="bg_higher"></div><!--end bg-->

        <div id="main">

            <div id="sidebar" class="left">

                <?php include('includes/sidebar_nav.php'); ?>

            </div><!--end sidebar-->




        <?
                                $name_error    = '';
                                $email_error = '';
                                $phone_error  = '';
                                $message_error = '';

        $name     = '';
        $email    = '';
        $phone    = '';
        //$subject  = '';
        $comments = '';
        $verify   = '';

        if(isset($_POST['contactus'])) {

                                $name     = $_POST['name'];
        $email    = $_POST['email'];
        $phone   = $_POST['phone'];
        $subject  = '15 Fingers LLC';
        $comments = $_POST['comments'];
        $verify   = $_POST['verify'];


        // Configuration option.
        // You may change the error messages below.
        // e.g. $error = 'Attention! This is a customised error message!';

        if(trim($name) == '') {
            $name_error = '<p class="error">You must enter your name.</p>';
        }
                                if(trim($email) == '') {
            $email_error = '<p class="error">Please enter a valid email address.</p>';

       // Configuration option.
       // Remove the // tags below to active phone number.
       }   if(!is_numeric($phone)) {
          $phone_error = '<p class="error">Phone number can only contain digits. </p>';

        }if(!isEmail($email)) {
            $email_error = '<p class="error">You have entered an invalid e-mail address.</p>';
        }

        //if(trim($subject) == '') {
            //$error = '<div class="error_message">Attention! Please enter a subject.</div>';
        //}
                                if(trim($comments) == '') {
            $message_error = '<p class="error">Please enter your message.<p>';
        } //else if(trim($verify) == '') {
            //$error = '<div class="error_message">Attention! Please enter the verification number.</div>';
        //}
                    //else if(trim($verify) != '4') {
            //$error = '<div class="error_message">Attention! The verification number you entered is incorrect.</div>';
        //}

                                $error = '<p class=error>' . $name_error . $email_error . $phone_error . $message_error . '</p>';

        if($error == '') {

            if(get_magic_quotes_gpc()) {
                $comments = stripslashes($comments);
            }


         // Configuration option.
         // Enter the email address that you want to emails to be sent to.
         // Example $address = "joe.doe@yourdomain.com";

         $address = "something@gmail.com";


         // Configuration option.
         // i.e. The standard subject will appear as, "You've been contacted by John Doe."

         // Example, $e_subject = '$name . ' has contacted you via Your Website.';

         $e_subject = 'You\'ve been contacted by ' . $name . '.';


         // Configuration option.
         // You can change this if you feel that you need to.
         // Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.

         $e_body = "You have been contacted by $name with regards to $subject, their additional message is as follows.\r\n\n";
         $e_content = "\"$comments\"\r\n\n";

         // Configuration option.
         // RIf you active phone number, swap the tags of $e-reply below to include phone number.
         //$e_reply = "You can contact $name via email, $email or via phone $phone";
         $e_reply = "You can contact $name via email, $email, or via phone $phone";

         $msg = $e_body . $e_content . $e_reply;

         mail($address, $e_subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");


         // Email has sent successfully, echo a success page.

            echo "<div id='success_message' class='left'>";
         echo "<h1>Email Sent Successfully!</h1>";
         echo "<p class='grey'>Thank you <strong>$name</strong>, your message has been submitted to us.  We will get back to you as soon as possible.</p>";
         echo "</div>";

        }
    }

         if(!isset($_POST['contactus']) || $error != '') // Do not edit.
         {
?>

                                                 <div id="content" class="left">

            <h1>SAY HELLO</h1>

                                                <div class="copy_area_contact">

                                                <div id="contact" class="left">

            <!--<? echo $error; ?>-->

            <form  method="post" action="">

                                                <? echo $name_error; ?>
                                                <label for=name accesskey=U class="label left">name</label>
            <input name="name" type="text" id="name"  class="input_text left" value="<?=$name;?>" />
                                                <br class="clear" />
                                                <br />

                                                <? echo $email_error; ?>
            <label for=email accesskey=E class="label left">email</label>
            <input name="email" type="text" id="email"  class="input_text left"value="<?=$email;?>" />
                                                <br class="clear" />
                                                <br />

                                                <? echo $phone_error; ?>
            <label for=phone accesskey=P class="label left">phone</label>
            <input name="phone" type="text" id="phone"  class="input_text left" value="<?=$phone;?>" />
                                                <br class="clear" />
                                                <br />
<!--
            <label for=subject accesskey=S><span class="required">*</span> Subject</label>
            <select name="subject" type="text" id="subject">
              <option value="Support">Support</option>
              <option value="a Sale">Sales</option>
              <option value="a Bug fix">Report a bug</option>
            </select>

            <br />
            -->
                                                <? echo $message_error; ?>
            <label for=comments accesskey=C class="label left">message</label>
            <textarea name="comments" cols="40" rows="3"  id="comments" class="message left"><?=$comments;?></textarea>
                                                <br class="clear" />
                                                <br />

<!--
            <p><span class="required">*</span> Are you human?</p>

                                                 Simple math problem to for security
            <label for=verify accesskey=V>&nbsp;&nbsp;&nbsp;3 + 1 =</label>
            <input name="verify" type="text" id="verify" size="4" value="<?=$verify;?>" /><br /><br />
            -->

            <input name="contactus" type="submit" class="contactus" id="contactus" value="submit" />

            </form>

<?php }

function isEmail($email) { // Email address verification, do not edit.
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}

?>

                </div><!--end contact-->

                <div id="info" class="left">
                    <p class="our_info">443 Delaware Avenue<br />
                    Buffalo, NY 14202</p>
                    <br />

                    <a href="#" class="map">map +</a>
                    <br />
                    <br />
                    <p class="name">Zack Schneider</p>
                    <p class="our_info">Partner<br />
                    716.228.4946</p>
                    <br />
                    <p class="name">Greg Nuendorfer</p>
                    <p class="our_info">Partner<br />
                    646.621.5501</p>

                </div><!--end info-->

                                                                <br class="clear" />

                                                </div><!--end copy_area_contact-->

            </div><!--end content-->

        </div><!--end main-->

        <?php include('includes/footer.php'); ?>

    </div><!--end container-->
</body>
</html>

Your problem is the line that starts with $error = '<p class=error>' . As a result, if(!isset($_POST['contactus']) || $error != '') will always be true since $error is never empty.

You can put in an echo test to see the value of $error (as well as other post values) to be sure of this.

Also, a suggestion - when you post code, you should take out any personal information (such as the user's email address), so he doesn't get spammed and shout at you..

David

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM