0

我已经开始研究 HTML5 和 PHP,但是在我的 php 文件中插入谷歌地图时遇到了问题。我将放置我编写的示例代码。也许有人对我的情况有解决方案。

在我的第一个文件“index.html”中,我有一个输入和一个按钮,它将提交并将输入发送到 php 文件。我为此编写的代码如下所示。

<form action="deneme.php" method="post">
                <input type="text" name="searchtxt" id="searchtxt" placeholder="Write something to search"></br>
                <div align="center">
                <input type="submit" name="locationbtn"  data-icon= "search" data-iconpos="right" data-theme="a" data-inline="true" value="Find Location"></button> 
                </div>
            </form>

在我的“deneme.php”文件中,代码就是这样。

<!DOCTYPE html>
<head>
<meta charset=utf-8>



<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="css/bgcolor.css" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>  
<script type="text/javascript">
function TestGeo()
{
     if (navigator.geolocation) 
        {
          navigator.geolocation.getCurrentPosition( TestMap, error, {maximumAge: 30000, timeout: 10000, enableHighAccuracy: true} );
    }
    else
    {
          alert("Sorry, but it looks like your browser does not support geolocation.");
    }
}

var map;
 function TestMap(position)
 {
       // Define the coordinates as a Google Maps LatLng Object
       var coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

       // Prepare the map options
       var mapOptions =
      {
                  zoom: 10,
                  center: coords,
                  mapTypeControl: false,
                  navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
                  mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        // Create the map, and place it in the map_canvas div
        map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

        // Place the initial marker
        var marker = new google.maps.Marker({
                  position: coords,
                  map: map,
                  title: "Your current location!"
        });

function error() {
        alert("Cannot locate user");
        }
</script>   
</head>


  <body onload="TestGeo();">
<?php 
    $t=date("H");
    $search=$_REQUEST['searchtxt'];

        if($t<"18"){
      echo ("<br/>Have a good day " . $search . " !");
    }
        else{
      echo ("<br/>Have a good night " . $search . " !") ;       
    flush();
    flush();
        }

      ?>
</div>
            <div id="map_canvas" style="width: 100%; height: 85%;  border-right: 1px solid #666666; border-bottom: 1px solid #666666; border-top: 1px solid #666666; border-left: 1px solid #AAAAAA;" align="center">
    </div>

主要问题是当我单击提交按钮时,我的 deneme.php 文件没有加载谷歌地图,但是我在 deneme.php 文件中打印了 index.html 中输入的输入值。我试图通过在执行此操作后将按钮从更改为来解决问题<input><button href="#deneme.php" type="button" name="locationbtn" data-icon= "search" onclick="location.href='deneme.php'" data-iconpos="right" data-theme="a" data-inline="true">Find Location</button>但我无法在 php 文件中打印 html 文件中的输入。但谷歌地图在这种情况下有效。

4

1 回答 1

1

.html文件通常不通过 PHP 解释器处理,只是作为纯文本发送出去。如果您点击提交按钮,并在 location.html 页面上执行“查看源代码”,您可能会看到嵌入其中的原始 PHP 代码。尝试将其重命名为location.php,将您的表单更改为指向这个新文件名,然后重试。

于 2013-10-16T14:17:09.237 回答