php写的不是第一次写

时间:2015-12-12 06:56:36

标签: jquery ajax post fwrite

我在localstorage变量中保存了一些数据,并希望将这些数据写入使用PHP创建的文件中。

在我的html页面中,我有一个名为updatesurvey的函数。

此功能正在执行以下操作:

    var newdate = new Date();
    var q1age = localStorage.getItem('age');
    var q2gender1 = localStorage.getItem('gender1');
    var q2gender2 = localStorage.getItem('gender2');

                    function updatesurvey(){ 

                        $.ajax({
                          url: "save2file.php",
                          type: "post",
                          data: "&date="+newdate+"&Q1="+q1age+"&Q2_1="+q2gender1+"&Q2_2="+q2gender2+,
                          success: function(){
                              // alert("Thank you");
                          },
                          error:function(){
                              // alert("Sorry");
                          }   
                          }); 
                    };    

在save2file.php中,我想再次将POST数据写入文件:

<?php
$writedate = $_POST["date"];
$writeQ1 = $_POST["Q1"];
$writeQ2_1 = $_POST["Q2_1"];
$writeQ2_2 = $_POST["Q2_2"];

$fp = fopen('surveydata.csv', 'a');

$data = "$writedate;$writeQ1;$writeQ2_1;$writeQ2_2".PHP_EOL;


fwrite($fp, $data);
fclose($fp);

?>

当我检查我的surveydata.csv文件时,我总是有一个正确的日期。 其他POST数据的值为NULL。 但是,当我回到html页面并再次调用动作更新调查时(不输入新数据),它会将数据写入相关内容。

所以我的surveydata.csv第一次看起来像这样:

2015年12月12日星期六07:32:12 GMT 0100(中欧标准时间); null; null; null

第二次:

2015年12月12日星期六07:35:48 GMT 0100(中欧标准时间); A2;男性; null

知道出了什么问题吗? 为什么第一次只写正确的日期变量而其他变量没有?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 这只是我的错误。

我搬家了

                function updatesurvey(){ 

后:

 <script>

var map = null;
var layers = [];

function initMap() {
  
  var lat = -6.9944910254;
  var long = 110.4205135536;
  var myLatLng = new google.maps.LatLng(lat,long);
  var myOptions = {
  zoom: 13,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
//  alert('Your latitude is '+lat+' and longitude is '+long);
  
  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

 google.maps.event.addListener(layers, 'click', function(kmlEvent) {
    showInContentWindow(kmlEvent.featureData.description);
     });

 function showInContentWindow(text) {
    var content = "<div>" + text +  "</div>";
    var infowindow = new google.maps.InfoWindow({
    content: content, 
    pixelOffset: new google.maps.Size(300, 0),
     })
 infowindow.open(map);
}    


//  alert('map geladen?');
    layers[0] = new google.maps.KmlLayer({
        url:'http://smamakudus.com/dian/Jalur_Kondusif_edited2.kml', 
      preserveViewport: true, 
      suppressInfoWindows: false, 
      map: map});
    layers[1] = new google.maps.KmlLayer({
        url:'http://smamakudus.com/dian/Jalur_Rata_edited.kml', 
    preserveViewport: true, 
    suppressInfoWindows: true, 
    map: map});
    layers[2] = new google.maps.KmlLayer({
        url: 'http://smamakudus.com/dian/Tanjakan_Ringan_edited.kml', 
        preserveViewport: true, 
        suppressInfoWindows: true, 
        map: map});
    layers[3] = new google.maps.KmlLayer({
        url:'http://smamakudus.com/dian/Tanjakan_Tajam_edited.kml', 
        preserveViewport: true, 
        suppressInfoWindows: true, 
        map: map});
    layers[4] = new google.maps.KmlLayer({
        url:'http://smamakudus.com/dian/Turunan_Ringan_edited.kml', 
        preserveViewport: true, 
        suppressInfoWindows: true, 
        map: map});
    layers[5] = new google.maps.KmlLayer({
        url:'http://smamakudus.com/dian/Turunan_Tajam_edited.kml', 
        preserveViewport: true, 
        suppressInfoWindows: true, 
        map: map});


google.maps.event.addListener(layers[0], "click", showInContentWindow);
google.maps.event.addListener(layers[1], "click", showInContentWindow);
google.maps.event.addListener(layers[2], "click", showInContentWindow);
google.maps.event.addListener(layers[3], "click", showInContentWindow);
google.maps.event.addListener(layers[4], "click", showInContentWindow);
google.maps.event.addListener(layers[5], "click", showInContentWindow);
  

  for (var i = 0; i < layers.length; i++) {
        layers[i].setMap(map);
  }
}

function toggleLayer(i) {
  if (layers[i].getMap() === null) {
    layers[i].setMap(map);
  } else {
    layers[i].setMap(null);
  }
}


    </script>
    <script async defer
        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB3p-U78HJWBN9dDE7YwD537UrLauSv90A&signed_in=false&callback=initMap">
    </script>

现在一切正常。