提交表单以使用ajax插入SQL

时间:2017-02-02 10:12:49

标签: php sql-server ajax

这是我第一次尝试使用ajax提交表单,所以我不确定我哪里出错了。

我有一个弹出窗口显示用户每天第一次访问,它有一个记录出勤的按钮,基本上会插入提交的时间戳和用户等,我已经手动测试了PHP一个isset,只是点击页面,它正在插入,但当我尝试使用ajax它不是,我已经在开发人员工具中观看了网络,并在点击时点击了页面但是没有插入数据。

这是我的模式:

<form method="post" data-remote="true">
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
                </button>
                <h4 class="modal-title" id="myModalLabel2">Morning, <?php echo $user['userName']; ?>.</h4>
            </div>
            <div class="modal-body">
                <?php $today = date("D M j"); ?>
                <h4>Are you working today <?php echo $today; ?>?</h4>
                <p>By clicking 'Log My Attendance' you are confirming that you are working today.</p>

            </div>
            <div class="modal-footer">
                <button id="log-attendance" type="buttom" name="submit" class="btn btn-primary" data-dismiss="modal">Log My Attendance</button>
            </div>
        </div>
    </div>
</div>
</form>

这是我的javascript:

<script type="text/javascript">
    $(document).on('click', '#log-attendance', function() {
        $.ajax({
            type: "POST",
            url: 'log-attendance.php',
            success: function() {
              "Attendance Log success"
            }
        });
    });
</script> 

这是我的PHP:

<?php if(isset($_POST['submit'])) {
    $val1 = "test";
    $val2 = "test";
    $val3 = "test";
    $val4 = "test";
    $val5 = "test";
    $val6 = "test";

    $query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6) 
            VALUES ('$val1', '$val2','$val3', '$val4', '$val5', '$val6')";
    $stmt = sqlsrv_prepare($sapconn2, $query);
    sqlsrv_execute($stmt);
}
?>

1 个答案:

答案 0 :(得分:3)

检查

    <form method="post" data-remote="true" id="myform">
    <div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-sm">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
                    </button>
                    <h4 class="modal-title" id="myModalLabel2">Morning, <?php echo $user['userName']; ?>.</h4>
                </div>
                <div class="modal-body">
                    <?php $today = date("D M j"); ?>
                    <h4>Are you working today <?php echo $today; ?>?</h4>
                    <p>By clicking 'Log My Attendance' you are confirming that you are working today.</p>

                </div>
                <div class="modal-footer">
                    <button id="log-attendance" type="buttom" name="submit" class="btn btn-primary" data-dismiss="modal">Log My Attendance</button>
                </div>
            </div>
        </div>
    </div>
    </form>

/* On form submit */   
<script>
    $(function() {
        $('#myform').submit(function(e) {
        e.preventDefault();
        //var formdata = $(this).serialize();
        $.ajax({
            url : 'log-attendance.php',
            method : 'POST',
            success : function(res)
            {
                alert(res);
            }
    });
    });

    });



/* on  button click */

    $(function() {
        $('#log-attendance').click(function(e) {
        e.preventDefault();
        //var formdata = $(this).serialize();
        $.ajax({
            url : 'log-attendance.php',
            method : 'POST',
            success : function(res)
            {
                alert(res);
            }
    });
    });

    });
</script>
  

登录attendance.php

<?php
$servername = "localhost";
$username = "username"; /* Your username */
$password = "password"; /* Your password */
$dbname = "myDB";   /* Your dbname */

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$val1 = "test";
$val2 = "test";
$val3 = "test";
$val4 = "test";
$val5 = "test";
$val6 = "test";

$query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6) 
            VALUES ('".$val1."', '".$val2."','".$val3."', '".$val4."', '".$val5."', '".$val6."')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>