javascript - PHP/js 联系表单未跨域发布表单数据

标签 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

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

最佳答案

没有你的 JavaScript 它也能工作吗?

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

HTML5 added several new input types:

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

最诚挚的问候,

弗洛伦特。

关于javascript - PHP/js 联系表单未跨域发布表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40241690/

相关文章:

javascript - 简单的 JavaScript 计数器函数

php - Laravel 5 nginx domain.com/index.php 和 domain.com/both 工作。如何重定向/index.php?

php - Laravel 返回最后一个用户

javascript - 在 Crystal Reports 公式编辑器中使用 JavaScript

javascript - 如何计算localStorage中的总量和总计?

php - 将值从 PHP 传递到 JavaScript

jquery - 不使用 onclick 的情况下删除表中每个动态创建的行的按钮

javascript - 如何用Python requests-html抓取评分?

html - 背景尺寸覆盖不起作用

javascript - Jquery 更改 ajaxSource 变量