0
我正在將一些數據保存在localstorage變量中,並且希望將這些數據寫入使用PHP創建的文件中。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頁面並再次調用action update(不輸入新數據)時,它會寫入數據correclty。
所以我surveydata.csv看起來第一次是這樣的:
星期六2015年12月12日7點32分12秒格林尼治標準時間0100(中歐標準時間); 空,空,空
了第二遍:
週六二零一五年十二月十二日7時35分四十八秒GMT 0100(中歐標準時間); A2;男; null
任何想法是什麼問題? 爲什麼它只是在第一次寫入日期變量,而其他變量不是?
你確定這是PHP端的問題,而不是你的JavaScript代碼?在將它們傳遞給'$ .ajax'之前,嘗試提醒或記錄這些值。 – Timekiller