将Ajax日志文件记录到PHP

时间:2017-02-02 13:07:25

标签: php jquery html ajax

新手在这里。我想请求帮助创建一个关于在字段上插入的值的基本日志文件。

这是我的HTML:

<form id = "form1" name = "form1" method="post">
<div id="fstep_1">
    <p>
         Your email address:
    </p>
    <input type="text" name="email" id="email" class="required email">
    <label for="email" class="error" style="display: none;">This field is required</label>
</div>

<button type="submit" class="fsubmit">Submit</button>

这是我的jquery:

<script>
$(".fsubmit").click(function() {    
        var emailval = $("#email").val().trim();

        $.ajax({
            url: '/logfiletracker.php',
            type: 'POST',
            data: {'data' : {email: emailval,
            success: function(data) {},
        });
  });
</script>

这是我的阿贾克斯:

<script>
$(".fsubmit").click(function() {    
        var emailval = $("#email").val().trim();

        $.ajax({
            url: '/logfiletracker.php',
            type: 'POST',
            data: {'data' : {email: emailval,
            success: function(data) {},
        });
  });
</script>

这是我的PHP

<?php 

$data = $_POST['data'];
$date = new DateTime();
$datelog = $date->format('d.m.Y h:i:s');


$message = '[' . $datelog . '] - email: ' .$data;

echo($message);
?>

我的问题是它除了看起来像这个的日期之外根本没有查看任何数据

[02.02.2017 12:54:11] - email:

当我尝试添加另一个测试时,它不会增加数据。我的代码中缺少什么?

感谢您的回答。

2 个答案:

答案 0 :(得分:1)

出于测试目的,要知道问题所在(js或php),你可以这样做:

JavaScript 上:

$(".fsubmit").click(function() {    
    var emailval = $("#email").val().trim();
    var data = {
        'data' : {
            email: emailval
        }
    };

    // testing!
    console.log(data);

    $.ajax({
        url: '/logfiletracker.php',
        type: 'POST',
        data: data,
        success: function(data) {}
    });
});

PHP 上:

<?php 

$data = $_POST['data'];

// testing!
echo json_encode($_POST['data']);
exit;

$date = new DateTime();
$datelog = $date->format('d.m.Y h:i:s');


$message = '[' . $datelog . '] - email: ' .$data;

echo($message);
?>

答案 1 :(得分:0)

$.ajax({
        url: '/logfiletracker.php',
        type: 'POST',
        data: {'data' : emailval},
        success: function(data) {},
   });

因为您的数据没有以正确的方式发送而且没有被php收到。修改您的Ajax代码,它将起作用