未定义的索引和地理标记脚本

时间:2013-10-25 10:20:28

标签: php forms post geotagging

我不断收到“Undefined index:latitude”和“Undefined index:longitude”

我试图让它工作几个小时,但我无法:(你能帮助我吗? 我需要将这两种形式分开。我如何将它们连接在一起? 在此先感谢:)

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Title</title>
</head>
<script>
var x=document.getElementById("log");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="GPS szolgáltatás nem müködik ezen a böngészőn, kérlek értesítsd a     rendszergazdát!";}
  }
function showPosition(position)
  {
     var latitude = position.coords.latitude;
     var longitude = position.coords.longitude;
     document.getElementById("longitude").value = longitude;
     document.getElementById("latitude").value = latitude;
  }
</script>
<p id="log">
    <form method="post">
    <input type="hidden" name= "longitude" id="longitude">
    <input type= "hidden" name ="latitude" id="latitude">
    </form>
</p>
    <br>
    <br>
    <form action="" method="post">
    <input type="submit" name="ido" value="Click" /></td>
    </form>

<?php
    if(isset($_POST["ido"])) {
    echo "<script>getLocation();</script>";
        $latitude=$_POST["latitude"];
        $longitude=$_POST["longitude"];
    print_r($_POST);
        }
?>
</html>

2 个答案:

答案 0 :(得分:1)

这是因为您的 form 不包含元素latitudelongitude,而您定义的上述形式包含这些字段,但是永远不会提交。

<form action="" method="post">
    <input type="hidden" name= "longitude" id="longitude"> <!-- I have added here-->
    <input type= "hidden" name ="latitude" id="latitude"> <!-- I have added here-->
    <input type="submit" name="ido" value="Click" /></td>
    </form>

答案 1 :(得分:0)

如果您需要表单是独立的 - 那么您应该考虑使用自定义提交方法并通过ajax提交。这将使您有机会解析所需的元素,然后提交数据。