あなたは私の質問の無知を許さなければなりません。私は、PHP、HTML、およびCSSの使用にかなり精通しています。しかし、私は小さなプロジェクト用の単純な統計コレクタを作成しようとしています。私は、これのためにjQueryまたはAjaxを使用する多くの異なる例を紹介しました。私は最初のアプローチとしてjQueryを使用することに決めました。目標は、getinfo.phpファイルから値をインポートし、変数に割り当て、収集された情報を後で分析するためにデータベースにポストすることです。しかし、私はちょっとした不具合に遭遇しました。私はこのPHPファイルを引き出すために$ .GETリクエストを使用しています。
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>
わかりましたように、私は初心者ですが、それ以外は混乱しています。とにかく、別々にこれらの2つのコードはうまく動作します。しかし、それらを組み合わせようとすると、私は必要な結果を得られません。私の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