Javascript 联系人表单和PHP

Javascript 联系人表单和PHP,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我是dev的新手,只是边说话边学习。我还没有学习PHP和JavaScript/JQuery,所以我的网站上的联系人表单有问题 JavaScript似乎在工作,但PHP操作却没有。这是我从网络上提取的开放脚本,所以我确信这些操作缺少一些代码,因为我不知道我在看什么,我完全迷路了。任何帮助都将是惊人的 <!-- FORM --> <form id="form" form role="form" action="contact_form.php" method="post"&

我是dev的新手,只是边说话边学习。我还没有学习PHP和JavaScript/JQuery,所以我的网站上的联系人表单有问题

JavaScript似乎在工作,但PHP操作却没有。这是我从网络上提取的开放脚本,所以我确信这些操作缺少一些代码,因为我不知道我在看什么,我完全迷路了。任何帮助都将是惊人的

<!-- FORM -->
    <form id="form" form role="form" action="contact_form.php" method="post">
     <p id="returnmessage"></p>
   <br/>
      <label>Name: <span>*</span></label>
    <br/>
    <input type="text" id="name" placeholder="Name"/><br/>
    <br/>
    <label>Email: <span>*</span></label>
    <br/>
    <input type="text" id="email" placeholder="Email"/><br/>

    <br/>       
                            <textarea id="message" placeholder="Message......."></textarea><br/>
    <br/>
    <input type="button" id="submit" value="Send"/>
                            <br/>
          </form>
改变

$name=$\u POST['name1'];
$email=$_POST['email1'];
$message=$_POST['message1'];
$contact=$_POST['contact1']

$name=$\u POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
$contact=$_POST['contact']

并为每个输入赋予名称属性(name=“name”,name=“email”。)


它会起作用。

您的第一个问题是您没有从html表单中命名任何变量。PHP需要这些来处理信息。例如:

 <input type="text" id="name" placeholder="Name"/>
请注意,最好将电子邮件地址保存在变量中,而不是硬编码

对于sendmessage变量,您将需要像这样连接变量(如上注释中所述),否则第二个
$sendmessage
变量将覆盖第二个变量。(注意第二行
=
前面的

$sendmessage=”“$模板。"";
$sendmessage.=wordwrap($sendmessage,70);
不过,您可能需要稍微清理一下,以确保它正常工作。在开始尝试将两个项目连接到一个变量之前,请尝试在一个变量中使用纯文本消息。它应该可以很好地发送,然后在了解它的工作原理后,您可以担心格式问题


我建议你也阅读一些教程(这对学习很有好处),但你正在做的这类事情是一个很好的开始。如果遇到更多问题,请尝试将代码剥离到最低限度(例如,从电子邮件中删除HTML段;只需先以纯文本形式发送,以确保其正常工作,然后将其放回,删除正则表达式检查和javascript,直到表单正常工作,然后逐点添加这些片段。这样,您将更好地了解这些片段的工作原理).

将错误报告添加到文件顶部例如,在打开PHP标记之后,
$sendmessage
您没有连接,只考虑了最后一个变量。您还应该参考邮件手册-您的第一个参数不正确。您还需要确保所有输入都已填充,而不是留空。您的主题作为名称如果没有填写,ld将失败。她没有理由同时更改这两个属性。她可以在表单中创建名称属性,以匹配她在PHP post变量中已有的属性。OP代码中有很多问题,我已经在他们的问题下解决了。其中一些问题将加剧其失败。这些问题在任何回答中都没有解决即使是任何人。非常好的观点@Fred ii-(像往常一样)。我已经把它清理了一点,并添加了一些解释。
$(document).ready(function(){  
$("#submit").click(function(){
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
var contact = $("#contact").val();

$("#returnmessage").empty(); //To empty previous error/success message.
//checking for blank fields 
if(name==''||email==''||contact=='')
{
alert("Please Fill Required Fields"); 
}
else{
// Returns successful data submission message when the entered information    is stored in database.
$.post("contact_form.php",{ name1: name, email1: email,   message1:message, contact1: contact},
function(data) {
            $("#returnmessage").append(data);//Append returned message to message paragraph
                if(data=="Your Query has been received, We will contact you soon."){
                    $("#form")[0].reset();//To reset form fields on success
                }
        });
     }

 });
 });
 <input type="text" id="name" placeholder="Name"/>
 <input type="text" id="name" name="name1" placeholder="Name"/>
<?php error_reporting(E_ALL); ini_set('display_errors', 1); ?>
$sendmessage = "<div style=\"background-color:#7E7E7E; color:white;\">"     . $template . "</div>";

$sendmessage  .=  wordwrap($sendmessage, 70);