PHP / js联系表单不在

时间:2016-10-25 13:43:43

标签: javascript php html forms

所以我在我的网站上有一个联系表格,部分正常工作 - 电子邮件被发送到预期的电子邮件地址,但表格的内容不包含在电子邮件中。我确实在电子邮件中获得了表单输入的标签,而不是用户输入的详细信息。

我检查并重新检查了变量并检查了拼写错误&代码中的语法错误但找不到任何错误。 PHP& js不是我的强项,所以我希望这种类型的&这里聪明的人可以指出我正确的方向。

HTML和js:

<form id="contact-form" name="contact-form" method="post" action="form-processing.php" style="float: right;">
    <span id="sprytextfield1">
        <label for="Name:">Name:</label>
        <br />
        <input name="Name" type="text" id="Name" tabindex="10" />
        <span class="textfieldRequiredMsg">*</span></span>
    <p><span id="sprytextfield2">
        <label for="Email:">Email:</label>
        <br />
        <input type="text" name="Email" id="Email" tabindex="20"/>
        <span class="textfieldInvalidFormatMsg">*</span></span>
    </p>
    <p><span id="sprytextfield3">
        <label for="PhoneNumber">Phone Number:</label>
        <br />
        <input type="text" name="PhoneNumber" id="PhoneNumber" tabindex="30"/>
        <span class="textfieldRequiredMsg">*</span></span>
        <p><span id="sprytextfield4">
        <label for="Message">Message:</label>
        <br />
        <textarea name="Message" cols="20" rows="10" id="Message" tabindex="40"></textarea>
        <span class="textfieldRequiredMsg">*</span></span>
        </p>
        <p>
            <input type="submit" name="Send" id="Send" value="Send" tabindex="50" />
        </p>
</form>
<script type="text/javascript">
    var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "Name");
    var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "Email", {
        isRequired: false
    });
    var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "PhoneNumber", {
        format: "phone_custom",
        pattern: "07234567890",
        validateOn: ["blur"]
    });
    var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4", "Message");
</script>

PHP代码:

<?php
   while (list($key, $val) = @each($_GET)) $GLOBALS[$key] = $val;
   while (list($key, $val) = @each($_POST)) $GLOBALS[$key] = $val;
   while (list($key, $val) = @each($_COOKIE)) $GLOBALS[$key] = $val;
   while (list($key, $val) = @each($_FILES)) $GLOBALS[$key] = $val;
   while (list($key, $val) = @each($_SESSION)) $GLOBALS[$key] = $val;

   /* Subject and Email Variables */

    $emailSubject = 'Website Contact Form';
    $webMaster = 'jonnylovesspam@gmail.com';

   /* Gathering Data Variables */

    $nameField = $_POST['Name'];
    $emailField = $_POST['Email'];
    $PhoneNumberField = $_POST['PhoneNumber'];
    $messageField = $_POST['Message'];


    $body = <<<EOD
   <br><hr><br>
   Name: $nameField <br>
   Email: $emailField <br>
   Phone Numbers: $PhoneNumberField <br>
   Message: $messageField <br>
   EOD;

    $headers = "From: $email\r\n";
    $headers = "Content-type: text/html\r\n";
    $success = mail($webMaster, $emailSubject, $body, $headers);

   /* Results Rendered as HTML */

    $theResults = <<<EOD
   <html>
   <head>
   <title></title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br />
   <meta HTTP-EQUIV="REFRESH" content="0; url=contact-message-sent">
   <style type="text/css">
   <!--
   body {
    background-color: #fffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #000000;
    text-decoration: none;
   }
   -->
   </style>
   </head>
   <div align="left">
   Redirecting you...</div>
   </body>
   </html>
   EOD;
   echo "$theResults";

   ?>

您可以在此处查看表单: http://www.clearpandb.co.uk/contact

提前感谢您提供的任何指示或帮助。

1 个答案:

答案 0 :(得分:1)

没有你的javascript它可以正常工作吗?

对于我的表单,我使用HTML5输入类型:

HTML5 added several new input types:

color
date
datetime
datetime-local
email
month
number
range
search
tel
time
url

致以最诚挚的问候,

弗洛朗。