使用php进行异步注释

时间:2016-04-06 20:20:02

标签: php mysql ajax

我有两个php文件(index.php和insert.php)我的index.php有一个表单,它接收来自用户的三个输入(活动,持续时间和日期 - 这是健身应用程序)并存储它在数据库中。我已经编写了插入数据库的代码,它已成功完成,但是现在我想向网站添加通知,以便用户知道他们的输入是否被插入。例如,如果他们输入的持续时间不是数字或小于0,我希望在网站上显示文本,通知他们将持续时间更改为适当的值。我已经为此编写了脚本,并希望异步完成它。现在,我只是想要打印出数据是否成功添加,但事实并非如此。现在它带我到另一个空白页面而不打印任何东西,但也正确更新我的数据库。不确定我做错了什么。

的index.php

<script>
    $(function() {
        $('#getData').click(function(event) {
            event.preventDefault();

            $.ajax({
                type: "GET",
                url: "insert.php",
                data : { activity : $('#activityInput').val(), duration:  $('#durationInput').val(), date: $('#dateIn').val( },
                beforeSend: function(){
                }
                , complete: function(){
                }
                , success: function(html){
                    //this will add the new comment to the `comment' div
                    $("#comment").html(html);
                }
            });
        });
    });

</script>

<h1> Add input </h1>

<form action="insert.php" method="GET">
    Fitness activity:<br>
    <input type="text" name="activity" id="activityInput"><br>
    Duration of activity (hrs):<br>
    <input type="text" name="duration" id="durationInput"><br>
    Date (mm-dd-yyyy):<br>
    <input type="text" name="date" id="dateIn" ><br>
    <input type="submit" value="Submit" id="getData">
</form>


<div id='comment' ></div>;

insert.php

if(!empty($_GET["activity"]) && !empty($_GET["duration"]) &&        !empty($_GET["date"])) {
    $activity = mysqli_real_escape_string($link, $_GET["activity"]);
    $duration = mysqli_real_escape_string($link, $_GET["duration"]);
    $date = mysqli_real_escape_string($link, $_GET["date"]);

    if(is_numeric($duration) && $duration > 0){
        $sql = "INSERT INTO users (activity, dateInput, duration) VALUES ('$activity','$date','$duration')";
        $result = mysqli_query($link, $sql);

        mysqli_close($link);
        echo '<div class="comment">' ."Successfuly added" . '</div>';
   }
}

1 个答案:

答案 0 :(得分:3)

您使用的是成功回拨的ID

COUNT(*)

但你的div $("#comment").html(html); 有一个类,所以要么将其更改为id,要么使用

<div class='comment' ></div>;