PHP 跟踪邮件和 link 点击
PHP tracking mail and link clicks
我正在尝试跟踪是否有人(不是谁)打开了我通过 PHP 脚本发送的邮件并点击了我嵌入邮件中的 link。
邮件中准备变量:
使用将在 record.php 中加载的图像进行邮件点击跟踪:
<img src="http://localhost:8090/post_ch/admin/record.php?read=1" alt="Tracker">
link-点击跟踪:
<a href="http://localhost:8090/post_ch/portal/indexbab9.php?click=1">Link</a>
在数据库中插入记录
record.php 邮件点击记录:
<?php
// (inside "record.php")
header('Content-Type: image/gif');
if(isset($_GET['read']))
{
$pdo = new PDO('SECURE (should work)');
$statement = $pdo->prepare("INSERT INTO employee_clickedmail (clickedmail) VALUES (1)");
}
//push out image
if(ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); }
header('Pragma: public'); // required
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false);
header('Content-Disposition: attachment; filename="blank.gif"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize('blank.gif')); // provide file size
readfile('blank.gif'); // push it out
exit();
?>
AND link 次点击:
<?php
if(isset($_GET['click']))
{
$pdo = new PDO('SECURE (should work)');
$statement = $pdo->prepare("INSERT INTO employee_clickedlink (clickedlink) VALUES (1)");
}
?>
如您所见,我只想在每次有人加载图像并单击邮件中的 link 时将值“1”插入表格。有人知道这个问题吗?
对于每个 prepare()
语句,您需要调用 execute()
才能真正对数据库执行查询。
我正在尝试跟踪是否有人(不是谁)打开了我通过 PHP 脚本发送的邮件并点击了我嵌入邮件中的 link。
邮件中准备变量:
使用将在 record.php 中加载的图像进行邮件点击跟踪:
<img src="http://localhost:8090/post_ch/admin/record.php?read=1" alt="Tracker">
link-点击跟踪:
<a href="http://localhost:8090/post_ch/portal/indexbab9.php?click=1">Link</a>
在数据库中插入记录
record.php 邮件点击记录:
<?php
// (inside "record.php")
header('Content-Type: image/gif');
if(isset($_GET['read']))
{
$pdo = new PDO('SECURE (should work)');
$statement = $pdo->prepare("INSERT INTO employee_clickedmail (clickedmail) VALUES (1)");
}
//push out image
if(ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); }
header('Pragma: public'); // required
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false);
header('Content-Disposition: attachment; filename="blank.gif"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize('blank.gif')); // provide file size
readfile('blank.gif'); // push it out
exit();
?>
AND link 次点击:
<?php
if(isset($_GET['click']))
{
$pdo = new PDO('SECURE (should work)');
$statement = $pdo->prepare("INSERT INTO employee_clickedlink (clickedlink) VALUES (1)");
}
?>
如您所见,我只想在每次有人加载图像并单击邮件中的 link 时将值“1”插入表格。有人知道这个问题吗?
对于每个 prepare()
语句,您需要调用 execute()
才能真正对数据库执行查询。