Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Javascript变量导入SQL数据库?_Javascript_Php_Sql - Fatal编程技术网

将Javascript变量导入SQL数据库?

将Javascript变量导入SQL数据库?,javascript,php,sql,Javascript,Php,Sql,我试图创建一个页面,跟踪用户在站点上的点击,并将点击数据存储到数据库中(比如页面上的X和Y坐标、窗口大小等等)。我发现使用Javascript的鼠标事件属性很容易获得这些信息,问题是现在我有了这些信息,我似乎不知道如何将数据发送到我创建的SQL数据库来存储这些信息。我更愿意以查询的形式来实现这一点,但我能想到的唯一方法是使用PHP,问题是将PHP转换成Javascript要比将Javascript转换成PHP容易得多。有没有人能告诉我我是不是做错了?也许有一种方法我可以使用AJAX或其他什么来实

我试图创建一个页面,跟踪用户在站点上的点击,并将点击数据存储到数据库中(比如页面上的X和Y坐标、窗口大小等等)。我发现使用Javascript的鼠标事件属性很容易获得这些信息,问题是现在我有了这些信息,我似乎不知道如何将数据发送到我创建的SQL数据库来存储这些信息。我更愿意以查询的形式来实现这一点,但我能想到的唯一方法是使用PHP,问题是将PHP转换成Javascript要比将Javascript转换成PHP容易得多。有没有人能告诉我我是不是做错了?也许有一种方法我可以使用AJAX或其他什么来实现这一点,我也不希望每次用户点击获取我的数据时都必须重新加载整个页面

例如,我在脚本中有如下变量:

<script>
var x = event.clientX;
var y = event.clientY;
var width = window.innerWidth;
var height = window.innerHeight
</script>
"INSERT INTO click.table (x_coord, y_coord, window_w, window_h) VALUES $x, $y, $width, $height;"

您可以将数据保存到JSON对象中,并将该字符串保存到MySQL中。好的,到目前为止,您甚至可以对JSON对象进行MySQL查询。

这将需要大量的服务器开销,并且您必须“重新创建”每个用户使用的每个屏幕。例如,如果一个运行chrome的macbook用户点击pixel(100100),那么他电脑上出现的任何html元素都将与运行IE8的XP用户看到的完全不同。

我试过做你现在想做的事。最后我决定把它外包出去。尝试做所有的浏览器模拟和抓取点击数据是低效和徒劳的

也许你可以这样试试

<script>
    var x = event.clientX;
    var y = event.clientY;
    var width = window.innerWidth;
    var height = window.innerHeight

    $.ajax({
        url:"path to php file",
        data:{x:x,y:y,width:width,height:height},
        type:"POST",
        success: function(){
               alert("success");
          }
    });
</script>
试试这个

<script>
    var x = event.clientX;
    var y = event.clientY;
    var width = window.innerWidth;
    var height = window.innerHeight

    <?php $x ="<script>document.write(x)</script>"?>
    <?php $y ="<script>document.write(y)</script>"?>
    <?php $width ="<script>document.write(width)</script>"?>
    <?php $height ="<script>document.write(height)</script>"?>
</script>

var x=event.clientX;
var y=event.clientY;
变量宽度=window.innerWidth;
var height=window.innerHeight
php中的

<?php echo $x?>
<?php echo "<br>"?>
<?php echo $y?>
<?php echo "<br>"?>
<?php echo $width?>
<?php echo "<br>"?>
<?php echo $height?>
<?php echo "<br>"?>


谢谢!这正是我需要的!很高兴它帮助了你:)
<?php echo $x?>
<?php echo "<br>"?>
<?php echo $y?>
<?php echo "<br>"?>
<?php echo $width?>
<?php echo "<br>"?>
<?php echo $height?>
<?php echo "<br>"?>