你將不得不原諒我的問題的天真。我非常熟悉使用PHP,HTML和CSS。不過,我正在爲一個小型項目編寫一個簡單的統計收集器。我傾倒了許多使用jQuery或Ajax的不同示例。我決定使用jQuery作爲我的第一個方法。目標是從getinfo.php文件中導入值,將它們分配給變量,然後將收集的信息發佈到數據庫中供以後分析。但是,我遇到了一些障礙..我使用$ .GET請求來拉這個PHP文件。
GETINFO.PHP
<?php
$browserID = $_SERVER ['HTTP_USER_AGENT'];
$ip = $_SERVER ['REMOTE_ADDR'];
$url = $_SERVER ['REQUEST_URI'];
echo $browserID;
echo $ip;
echo $url;
?>
相當直截了當我的例子,沒有什麼花哨無比。對於我的jQuery獲取和發佈請求,我寫了這個。
<script type="text/javascript">
$(document).ready(function(){
// Define variables to send
var pageTag = "Test Text";
// Retrieve PHP variables
$.get("getinfo.php", function (data) {
alert("Data:" + data)
// Post data to database
$.post("process.php",{
page: pageTag
},
function (response,status){//required callback function
alert("*----Received Data----*\n\nResponse : " + response+"\n\nStatus : " + status);
//"response" receives - whatever written in echo of above PHP script.
});
});
});
</script>
正如你可以看到它是一團糟,是的,我是一個初學者,除了那個。無論如何,所以分開這兩個代碼工作正常。但是,當我嘗試將它們結合起來時,我沒有得到我需要的結果。實際發佈帖子時,我的var pageTag = "Test Text";
甚至沒有被推送到服務器。現在我的PostgreSQL數據庫獲得空白條目保存時間戳,但是這是由process.php文件本身提交的。
PROCESS.PHP
<?php
#Creds to access the database
require_once("connection.php");
/* Log page and get filenames */
#$page = input($_GET['page']) or die('ERROR: Missing page ID');
$page = json_decode(stripslashes($_POST['page']));
$ip_add = json_decode(stripslashes($_POST['ip_addy']));
$browser = json_decode(stripslashes($_POST['browser']));
$timestampInSeconds = $_SERVER['REQUEST_TIME'];
$date = date("Y-m-d h:i:s", $timestampInSeconds);
$sql = "INSERT INTO stats (page, date, ip, browser) VALUES ('$page','$date','$ip_add','$browser')";
pg_query($db,$sql);
echo $page;
echo $ip_add;
echo $date;
$query="SELECT COUNT(*) total FROM stats WHERE page= '$page'";
$result = pg_query($db,$query);
$row = pg_fetch_array($result,0,PGSQL_NUM);
$count = $row[0];
$query = "SELECT count(distinct IP) FROM stats WHERE page= '$page'";
$result = pg_query($db,$query);
$row = pg_fetch_array($result,0,PGSQL_NUM);
$UniaquCount = $row[0];
pg_close($db);
exit();
因此,對於快速回顧一下。我需要使用getinfo.php從客戶端獲取一些數據,然後通過jQuery將這些請求發送到process.php以傳遞到數據庫。任何幫助是極大的讚賞!
你應該嘗試在JSON中編碼Process.php的響應,第二個想法是,你沒有發送任何響應! – progrAmmar