如何使用从HTML表单传递到PHP的JavaScript地理位置对象

如何使用从HTML表单传递到PHP的JavaScript地理位置对象,javascript,php,sql,sqlite,Javascript,Php,Sql,Sqlite,我正在使用JavaScript访问地理定位API,以获取设备的位置,并使其成为HTML表单输入元素的值属性。提交表单时,它会将position对象发布到脚本中。我想使用PHP将对象存储在SQL数据库(SQLite)中。此外,我希望能够在将对象放入数据库之前或使用PHP将其从数据库中取出之后,从对象中访问信息。目前,我无法将对象放入数据库或从中获取信息 我使用的(简化)代码如下所示: <?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ echo

我正在使用JavaScript访问地理定位API,以获取设备的位置,并使其成为HTML表单输入元素的值属性。提交表单时,它会将position对象发布到脚本中。我想使用PHP将对象存储在SQL数据库(SQLite)中。此外,我希望能够在将对象放入数据库之前或使用PHP将其从数据库中取出之后,从对象中访问信息。目前,我无法将对象放入数据库或从中获取信息

我使用的(简化)代码如下所示:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
  echo '<p>'.$_POST['position'].'</p>';
}
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML Template</title>
</head>
<body>
<form method='post'>
  <div id='div1'>
  </div>
  <script>
      const success = (position) => {
        var input = document.createElement("input");
        input.setAttribute("name", "position");
        input.setAttribute("type", "text");
        input.setAttribute("value", position);
        var element = document.getElementById("div1");
        element.appendChild(input);
      }
      var id = navigator.geolocation.getCurrentPosition(success);
    </script>
  <input type='submit' value='submit'>
</body>
</html>

HTML模板
const success=(位置)=>{
var输入=document.createElement(“输入”);
输入.setAttribute(“名称”、“位置”);
输入.setAttribute(“类型”、“文本”);
input.setAttribute(“值”,位置);
var元素=document.getElementById(“div1”);
元素。追加子元素(输入);
}
var id=navigator.geolocation.getCurrentPosition(成功);
当我在浏览器中运行此操作并允许共享我的位置时,它会创建一个输入字段,其中包含[object GeolocationPosition]。然后,当我提交表单时,它会回显相同的[object GeolocationPosition]

如果我在将对象分配给表单输入的属性值之前使用JavaScript“解包”,那么在提交表单时,我可以使用PHP中的信息。然而,与将整个对象放入数据库相比,这似乎是一种复杂且容易出错的方法

请给我一些指点。

看起来“GeolocationPosition”仍然是一个对象。运行
console.log(“GeolocationPosition”)
在控制台中返回其所有属性


例如,如果您试图获取纬度,可以使用
GeolocationPosition[“lat”]
(如果属性“lat”存在)

如果使用console.log()或其他javascript,我可以从对象中获取数据。当我使用PHP时,我无法从对象中获取数据。我想在对象被发布回脚本后使用PHP访问它。