PHP 跟踪像素数据库插入
PHP tracking pixel database insert
要跟踪哪个人打开了我的 (mailchimp) 电子邮件,我想添加一个跟踪像素。
现在像素已经生成了,但是每当我向 url 添加 GET 参数时,它都不起作用
我的代码 "pixel.php"
<?php
/*
GET Methods
*/
if (!empty($_GET)){
$ip = $_SERVER['REMOTE_ADDR'];
// (Do|log) act on name
if (isset($_GET['name'])) {
$name = $_GET['name'];
} else{
$name = "";
}
// (Do|log) act on mail/campagne id
if (isset($_GET['mailid'])) {
$id = $_GET['mailid'];
}else{
$id = "";
}
// (Do|log) act on date
if (isset($_GET['date'])) {
$date = $_GET['date'];
} else{
$date = "";
}
insert($ip, $name, $mailid, $date);
}else{
// normal browsing to pixel.php without parameters set
// no insert here
}
/*
INSERT
*/
function insert($ip, $name, $mailid, $date){
// Create connection
$conn = mysqli_connect("192.168.****.****", "****", "****", "maildata");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$query = "INSERT INTO opened (ip, name, mailid, date)
VALUES ('".$ip."', '".$name."', '".$mailid."', '".$date."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
/*
GENERATE IMAGE
*/
// Create an image, 1x1 pixel in size
$im=imagecreate(1,1);
// Set the background colour
$white=imagecolorallocate($im,255,255,255);
// Allocate the background colour
imagesetpixel($im,1,1,$white);
// Set the image type
header("content-type:image/jpg");
// Create a JPEG file from the image
imagejpeg($im);
// Free memory associated with the image
imagedestroy($im);
/*
call with <img src="pixel.php?userid=98798&campaign=302&last=8"> for example
*/
?>
我认为错误出在 INSERT mysql 语句中的某处,但我不知道在哪里,我得到的唯一反馈是 "Image not found"-icon
mysqli_query($conn, $sql);
需要
mysqli_query($conn, $query);
要跟踪哪个人打开了我的 (mailchimp) 电子邮件,我想添加一个跟踪像素。
现在像素已经生成了,但是每当我向 url 添加 GET 参数时,它都不起作用
我的代码 "pixel.php"
<?php
/*
GET Methods
*/
if (!empty($_GET)){
$ip = $_SERVER['REMOTE_ADDR'];
// (Do|log) act on name
if (isset($_GET['name'])) {
$name = $_GET['name'];
} else{
$name = "";
}
// (Do|log) act on mail/campagne id
if (isset($_GET['mailid'])) {
$id = $_GET['mailid'];
}else{
$id = "";
}
// (Do|log) act on date
if (isset($_GET['date'])) {
$date = $_GET['date'];
} else{
$date = "";
}
insert($ip, $name, $mailid, $date);
}else{
// normal browsing to pixel.php without parameters set
// no insert here
}
/*
INSERT
*/
function insert($ip, $name, $mailid, $date){
// Create connection
$conn = mysqli_connect("192.168.****.****", "****", "****", "maildata");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$query = "INSERT INTO opened (ip, name, mailid, date)
VALUES ('".$ip."', '".$name."', '".$mailid."', '".$date."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
/*
GENERATE IMAGE
*/
// Create an image, 1x1 pixel in size
$im=imagecreate(1,1);
// Set the background colour
$white=imagecolorallocate($im,255,255,255);
// Allocate the background colour
imagesetpixel($im,1,1,$white);
// Set the image type
header("content-type:image/jpg");
// Create a JPEG file from the image
imagejpeg($im);
// Free memory associated with the image
imagedestroy($im);
/*
call with <img src="pixel.php?userid=98798&campaign=302&last=8"> for example
*/
?>
我认为错误出在 INSERT mysql 语句中的某处,但我不知道在哪里,我得到的唯一反馈是 "Image not found"-icon
mysqli_query($conn, $sql);
需要
mysqli_query($conn, $query);