php - 使用 php 进行异步评论

标签 php mysql ajax

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

索引.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>;

插入.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>';
   }
}

最佳答案

您正在为成功回调使用一个 id

$("#comment").html(html);

但是你的 div <div class='comment' ></div>;有一个类,所以要么将其更改为 id 要么使用

$(".comment").html(html);

关于php - 使用 php 进行异步评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36461535/

相关文章:

mysql - 堆叠多个日期和搜索字符串查询 SQL

DB物理插入MySQL SELECT反向查询

javascript - javascript 中的 Ajax Url 模式验证

php - JavaScript Ajax 请求与 jQuery $.ajax

php - 如何使用 php 函数而不是默认的 WP 函数从主页中排除类别?

php - 在php中上传大文件时出现内部服务器错误

php - Ebay API - 抓取用户产品和抓取单个产品详细信息

php - CodeIgniter DataMapper ORM v1.8.0 - 如何从多个表中获取记录

php - 在 php 中组织技术和面向用户的错误消息

javascript - 获取删除请求无法正常工作