2016-07-19 14 views
-2

ワードプレスサイトとミックスパネルを統合したいと思います。だから私は私たちのサイトを訪れる各ユーザーのためにクッキーを設定する必要があります。それから私は彼らの訪問の数を数え、それを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クッキーを一致させる方法はありません、それぞれにあなたがブランドを書きます訪問しますこの生成されたUIDを持つ新しいクッキー。また(再びすでに書かれたクッキーでそれを一致させることはできません)クッキー名としてUIDを使用するために間違ったアプローチであるので、これをチェックアウト:

<?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. 
?> 

これは、静的な名前を持つ2枚のクッキーを作成します - UIDのための1つをと1つはカウントのためです。その後、各ユーザーの訪問数をカウントすることができます(ユーザーがCookieをクリアしていない場合を除く)。

UPDATE:データベースのレコードについて

、単にUIDは、主キーとクッキーのロジックの後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に含めると考えています。それは正しいでしょうか? –

関連する問題