내 질문의 순진함을 용서해야합니다. 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 get 및 post 요청을 위해 나는 이것을 썼다.
<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