2016-07-19 81 views
-2

我想將一個WordPress網站與Mix面板集成在一起。所以我需要爲訪問我們網站的每個用戶設置Cookie。然後我必須計算他們的訪問次數並保存它的MySQL。現在我使用如何跟蹤wordpress中未登錄的用戶?

enter image description here

+1

那麼,問題是? – mitkosoft

+0

這是正確的方法嗎?我想將它們存儲在數據庫中。但是每當我寫入 $ sql =「INSERT INTO fullon_visit_count(unreg_user_id,user_visit_count)VALUES($ userId,$ user_visit)」; mysqli_query($ sql);數據庫沒有變化。 –

回答

0

在這個腳本的問題是邏輯本身 - 要生成每次UID,所以沒有辦法與任何現有的UID的cookie,每個參觀你會寫品牌新的cookie與這個生成的UID。而且是使用UID爲cookie的名稱(你又不能和已經寫入Cookie匹配的話),所以檢查這一種錯誤的做法:

<?php 
    if (!isset($_COOKIE['swain_uid'])) { 
     $guid = com_create_guid(); 
     $ucnt = 1; 
    } else { 
     $guid = $_COOKIE['swain_uid']; 
     $ucnt = ++$_COOKIE['swain_cnt']; 
    } 
    setcookie('swain_uid', $guid); 
    setcookie('swain_cnt', $ucnt); 
    print_r($_COOKIE); //for debug purposes only, remove it on production. 
?> 

這將創建兩個cookie靜態的名字 - 一個用於UID和一個用於計數。然後,您將能夠計算每個用戶的訪問(除非用戶已清除他的Cookie)。

UPDATE:

關於數據庫記錄,只需創建表,其中UID是主鍵和cookie的邏輯之後做INSERT ON DUPLICATE KEY UPDATE

MySQL表:

CREATE TABLE `visit_count` (
    `userId` varchar(255) NOT NULL, 
    `userVisit` int(11) DEFAULT NULL, 
    PRIMARY KEY (`userId`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

PHP(除與上面的腳本):

$con = mysqli_connect('localhost', 'root', '', 'test') or die(mysqli_error($con)); 
    $query = "INSERT INTO visit_count 
      (userId, userVisit) 
     VALUES 
      ('".$guid."', ".$ucnt.") 
     ON DUPLICATE KEY UPDATE userVisit = ".$ucnt; 
    mysqli_query($con, $query) or die(mysqli_error($con)); 
+0

感謝您的回答。我想將它存儲在數據庫中,所以我可以把sql查詢放在它之後? $ sql =「INSERT INTO visit_count(swain_uid,swain_cnt)VALUES($ userId,$ user_visit)」; mysqli_query($ sql); 還是我應該做其他事情? –

+0

檢查我的更新 – mitkosoft

+0

我想在本地主機的wordpress網站的header.php中包含此代碼。它會是對的嗎? –