使用php异步更新

使用php异步更新,php,mysql,ajax,Php,Mysql,Ajax,我有两个php文件(index.php和insert.php)。我的index.php有一个表单,它接受用户的三个输入(活动、持续时间和日期——这是健身应用程序的输入),并将其存储在数据库中。我已经编写了插入数据库的代码,它成功地做到了这一点,但是现在我想向站点添加通知,以便用户知道是否插入了他们的输入。例如,如果他们输入的持续时间不是数字或小于0,我希望在站点上显示文本,通知他们将持续时间更改为适当的值。我已经为此编写了脚本,并希望异步完成它。现在,如果数据添加成功,我只想打印出来,但它没有。

我有两个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 class='comment' ></div>;

$(函数(){
$('#getData')。单击(函数(事件){
event.preventDefault();
$.ajax({
键入:“获取”,
url:“insert.php”,
数据:{activity:$('#activityInput').val(),持续时间:$('#durationInput').val(),日期:$('#dateIn').val(},
beforeSend:function(){
}
,完成:函数(){
}
,成功:函数(html){
//这将向“comment”div添加新的注释
$(“#注释”).html(html);
}
});
});
});
添加输入
健身活动:

活动持续时间(小时):

日期(年月日):

;
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>';
    }
}
if(!empty($\u GET[“活动”])和&!empty($\u GET[“持续时间”])和&!empty($\u GET[“日期”])){
$activity=mysqli\u real\u escape\u字符串($link,$\u GET[“activity”]);
$duration=mysqli\u real\u escape\u字符串($link,$\u GET[“duration”]);
$date=mysqli\u real\u escape\u字符串($link,$\u GET[“date”]);
如果(是数值($duration)&&$duration>0){
$sql=“在用户中插入(活动、日期输入、持续时间)值(“$activity”、“$date”、“$duration”)”;
$result=mysqli\u查询($link,$sql);
mysqli_close($link);
echo“”已成功添加“”;
}
}

警告:当使用
mysqli
时,您应该使用参数化查询并向查询中添加用户数据。不要使用手动转义和字符串插值或连接来完成此操作,因为这样会创建严重错误。更新HTML时,您的选择器不正确。
具有
class='comment'
但是您正在从JavaScript对其进行寻址,就像它是它的
id
。您应该将其更改为