联系表格不会提交

时间:2011-03-23 19:50:44

标签: php forms submit contact

请帮忙。此表单用于提交,但不会再提交。我无法弄清楚问题是什么。只需保持返回页面,填写表格即可。

<!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>

2 个答案:

答案 0 :(得分:2)

您的问题是以$error = '<p class=error>'开头的行。因此,if(!isset($_POST['contactus']) || $error != '')将永远为真,因为$ error永远不会为空。

答案 1 :(得分:0)

您可以进行回声测试以查看$ error(以及其他帖子值)的值,以确保这一点。

另外,建议 - 当你发布代码时,你应该取出任何个人信息(例如用户的电子邮件地址),这样他就不会被垃圾邮件发送给你了。

大卫