2013-05-03 87 views
-1

我想跟踪用pixle跟踪打开的电子邮件,每个用户在我的数据库中都有一个id,我需要知道谁确切地打开了邮件和哪个邮件,开放率。每个用户和每封邮件的电子邮件的像素跟踪

我的问题是我需要为每个消息和每个用户使用不同名称的pixle图像吗?

+0

简答:是的。巴姆。 – Bojangles 2013-05-03 07:54:14

+1

@Bojangles我看到答案后,我会说答案是否定的! – user1590636 2013-05-03 08:03:43

+1

你不需要有不同的图像,但你需要为同一图像有不同的路径。所以......实际上并没有这么简单的答案。 – 2013-05-03 08:06:20

回答

2

您可以为所有电子邮件使用相同的图像,但使用不同的路径,这使得它们都可以解决同一个问题。

因此,图像可以被example.com/bla/index.php?msg=1&img=white.jpg然后做这样的事情:

<?php 
// Here goes some more PHP ($DB initialization, etc) 

if (!empty($_GET['img']) && !empty($_GET['msg'])) 
    $STH = $DB->prepare('INSERT INTO seen (`message`) VALUES (?)'); 
    $STH->execute(array($_GET['msg'])); 
header('Location: /images/white.jpg'); 
?> 

我最近使用过的一些Ajax的非常相似,但使用.htaccess文件和类似example.com/faces/89y3gf34gho.jpg路径(这是内部转换为example.com/faces/index.php?face=89y3gf34gho.jpg

请注意,许多用户会考虑一个小的跟踪白色图像的冒犯性,所以,让你知道你做了一个像imtrackingyou.com/track/index.php?msg=36&img=white.jpg这样的专用网站,隐藏这不是一个图像,这样做可能是可取的。为此目的,example.com/bla/5475.jpgexample.com/bla/index.php?msg=1&img=white.jpg更好。这可以通过Apache's mod_rewrite来实现。

2

我认为你可以做这样的事情:

<img src="www.yourdomain.com/track.php?userid=xxx&msgid=yyy"> 

,然后只用了$ _GET参数来跟踪用户/味精,并重定向到一个静态图像,这将是相同的所有邮件和用户。