我正在创建一个时事通讯系统,它会在打开电子邮件时跟踪所有类型的信息。
我从一个看起来像的图像开始
<p><img src="http://xxx.com/newsletterInfo.php?newsletter=12&userid=234" width="314" height="20" alt="Cancel Newsletter Subscription"></p>
然后在 newsletterInfo.php 文件中,我将 url 回显到图像中。
我认为这不是这样做的方式吗?
有人可以指出我的问题在哪里。
谢谢
更新
电子邮件的发送:
$name = stripslashes($fetchquery["name"]);
$email = stripslashes($fetchquery["email"]);
$content = $_POST["maincontent"];
$subject = $_POST["subject"];
$message = "<html><head><title>".$subject."</title></head><body>";
$message .= str_replace('{name}', $name, $content);
$message .= '<p><img src="http://xxx.com/newsletterInfo.php?newsletter='.$id.'" width="314" height="20" alt="Cancel Newsletter Subscription"></p>';
$message .= "</body></html>";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Username <email@here.com>' . "\r\n";
// Mail it
mail($email, $subject, $message, $headers);
在信息页面上,我这样做了:
if(isset($_GET["newsletter"])) {
$query = $pdo->prepare("UPDATE newsletter SET opened=`opened` +1 WHERE id=:id");
$query->execute(array(':id' => $_GET["newsletter"]));
$query_num = $query->rowCount();
if($query_num > 0){
echo 'http://xxx.com/cancel.png';
}
正如您所看到的,电子邮件使用 mail() 函数发送时事通讯,然后图像在哪里我已经放置了一个 php 文件的 url,在这个文件中询问变量,如果它设置了它然后回显图像 url 然后将数据输入数据库,所有这些都 100% 有效,因为数据库正在更新。
存在的问题是图像已损坏。
如果您右键单击并转到 newsletterInfo.php,则会显示 url。
我认为这根本不是这样做的方式。