Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未能编写反馈表单_Php_Ajax - Fatal编程技术网

Php 未能编写反馈表单

Php 未能编写反馈表单,php,ajax,Php,Ajax,我需要你的帮助。我有一个反馈表,它向指定的邮箱发送电子邮件。 这是我的表单的外观: <form method=post name="feedback"> <div> <div align="center"> <input class="textarea1" type="text" name="name" placeholder="Name" autocomplete="off">

我需要你的帮助。我有一个反馈表,它向指定的邮箱发送电子邮件。 这是我的表单的外观:

<form method=post name="feedback"> 
<div>
     <div align="center"> 
              <input class="textarea1" type="text" name="name" placeholder="Name" autocomplete="off"> 
              <input class="textarea1"  type="text" name="email" placeholder="Email" autocomplete="off"> 
              <input class="textarea1" type="text" name="title" placeholder="Subject" autocomplete="off">
              <textarea class="textarea" rows="10" name="mess" placeholder="Message" autocomplete="off"></textarea><br />
              <input class="submit" type="submit" value="Send" name="submit"></div> 
</form> 
<img id="load" src="load.gif" style="display: none;" />
        <div id="answer"></div>


这是我的脚本在html文件头部的外观:

<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
            $(document).ready(function() {
                $("#feedback").submit(function(event) {
                    event.preventDefault();
                    $.ajax({
                        url: "feedback_lib.php",
                        beforeSend: function() {
                            $("#load").fadeIn(400);
                        },
                        type: "post",
                        data: $("#feedback").serialize(),
                        success: function(answer) {
                            $("#answer").html(answer);
                        }
                    }).done(function() {
                        $("#load").fadeOut(400);
                    });
                });
            });
        </script>

$(文档).ready(函数(){
$(“#反馈”)。提交(功能(事件){
event.preventDefault();
$.ajax({
url:“feedback_lib.php”,
beforeSend:function(){
$(“#加载”).fadeIn(400);
},
类型:“post”,
数据:$(“#反馈”).serialize(),
成功:功能(答案){
$(“#答案”).html(答案);
}
}).done(函数(){
$(“#加载”)。淡出(400);
});
});
});
这就是我的反馈_lib.php的样子:

<?php

    $email = $_POST["email"];
    $mess = $_POST["mess"];
    $title = $_POST["title"];
    $name = $_POST["name"];
    $result = 0;
    define(EMAIL_TO, "myrealmail@mymail.com");

    if ((strlen($email) < 5) or (strlen($message) < 10)) $result = 1; // длина сообщения
    else {
        if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $subject = "Письмо с Вашего сайта http://".$_SERVER["HTTP_HOST"]."/";
            $header = "From <".$email.">\r\nContent-type: text/plain; charset=utf-8\r\n";
            mail(EMAIL_TO, $subject, $mess, $title, $name);
            $result = 3; //письмо отправлено
        }
        else $result = 2; // неправильный email
    }
    echo getAnswer($result);

    function getAnswer($result = 0) {
        switch ($result) {
            case 0: $answer = "";
            break;
            case 1: $answer = "<p style='color: red;'>Հաղորդագրության նվազագույն երկարություն 10 նիշ, իսկ email-ինը` 5:</p>";
            break;
            case 2: $answer = "<p style='color: red;'>Սխալ email:</p>";
            break;
            case 3: $answer = "<p style='color: green;'>Հաղորդագրությունն ուղարկված է</p>";
        }
        return $answer;
    }

?>

在表单中使用
反馈
id

<form method=post name="feedback" id="feedback">
...........
...........
</form>

...........
...........

在表单中使用
反馈
id

<form method=post name="feedback" id="feedback">
...........
...........
</form>

...........
...........

#用于“id”,而不是“name”。尝试将id=“feedback”添加到表单元素标记中。谢谢!现在可以用了。#表示“id”,而不是“name”。尝试将id=“feedback”添加到表单元素标记中。谢谢!“它现在起作用了。@Gurgen,如果它起作用了,你应该接受这个答案,这样其他人就可以从这个答案中受益。”。谢谢,我还有一个问题。我定义了在出现错误(如错误的电子邮件或短于10个符号的消息)时不清除表单数据。当我得到答案=3时,如何才能清除表单数据?这可能是一个好方法:
success:function(answer){$(“#answer”).html(answer);},error:function(errorshown){alert('request failed');}
@Gurgen,如果它有效,你应该接受答案,这样其他人就可以从答案中受益。谢谢,我还有一个问题。我定义了在出现错误(如错误的电子邮件或短于10个符号的消息)时不清除表单数据。当我得到答案=3时,如何才能清除表单数据?这可能是一个好方法:
成功:函数(答案){$(“#答案”).html(答案);},错误:函数(错误抛出){alert('request failed');}