2013-04-17 48 views
1

嗨,我不知道是否有人可以請求幫助,我想要在我的網站主頁的標題標籤中包含這段代碼給我一些想法,誰在使用我的網站,以及經常使用等。獲取用戶的網頁加載和存儲在數據庫中?

我想要收集用戶的IP地址並將其存儲在數據庫中。我試圖做到這一點使用下面的PHP和MySQL代碼:

<?php 
//Test if it is a shared client 
if (!empty($_SERVER['HTTP_CLIENT_IP'])){ 
    $ip=$_SERVER['HTTP_CLIENT_IP']; 
//Is it a proxy address 
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
}else{ 
    $ip=$_SERVER['REMOTE_ADDR']; 
} 
//The value of $ip at this point would look something like: "192.0.34.166" 
$ip = ip2long($ip); 
//The $ip would now look something like: 1073732954 

$sql = "INSERT INTO ptb_sessions(user_ip) VALUES('$ip')"; 
$dbQuery = mysql_query($sql,$dbLink); 

?> 

繼承人什麼我的表如下所示:

ptb_sessions

session_id | user_id | user_ip | session_start | session_destroyed 

由於某種原因,其沒有工作,沒有值被插入表中,任何人都可以請解釋我要去哪裏錯謝謝。

+0

什麼'type'是數據庫中的'user_ip'? –

+0

其A INT(11)VALUE –

回答

0

錯誤報告

在你的PHP文件的頂部添加此:

error_reporting(E_ALL); 
mysql_error(); 

再次運行腳本,看看是否有錯誤出現。

字段類型

如果user_ipINT,從('$ip')刪除單引號:

$sql = "INSERT INTO ptb_sessions(user_ip) VALUES($ip)"; 

有引號意味着你正在嘗試存儲ip爲一個字符串,但實際上數據庫需要一個整數。

注意

使用mysql已被廢棄,如果你使用PHP: PDO,而不是你會不會踏入這樣的問題。

+0

即時得到這個錯誤,警告:請求mysql_query()預計參數2是資源,在/Applications/XAMPP/xamppfiles/htdocs/ptb/includes/header.php空給出線31 –

+0

所以?我認爲這是非常有用的...你在代碼中設置了'$ dbLink'在哪裏? –

相關問題