kolla på koden här:
function sendPostcard($pID)
{
$myUser = new User;
$myLinkArray = array();
$myLinkArray[0] = $pID;
$rSet = $this->db->dbQuery("
SELECT
DISTINCT (u.email),
u.id
FROM
card AS c,
user_x_event_x_type AS uet,
user AS u
WHERE
c.id = '$pID'
AND
c.event_id = uet.event_id
AND
uet.user_id = u.id
");
$emails = "";
while ($data = mysql_fetch_object($rSet))
{
$emails .= $data->id." - ".$data->email."<br>";
$myLinkArray[1] = $data->id;
$this->pMailText = preg_replace("/\<!--###LINK###-->/","http://www.XXXXXXXX.com/vip/showCard.php?card=".base64_encode(serialize($myLinkArray)),$this->pMailText);
mail($data->email, "Du har ett vykort att hämta", $this->pMailText,
"From: [email]no_reply@xx.com[/email]\r\n"
."Reply-To: [email]no_reply@xx.com[/email]\r\n"
."X-Mailer: PHP/" . phpversion());
}
return $emails;
}
när den gör base64_encode(serialize($myLinkArray)) så blir det hela tiden samma kodade sträng i länken som mailas iväg. När man däremot skriver ut $emails så visar den upp de olika användarna som har fått epost. Det skumma är att också alla mailen går iväg. Jag tror att det är något fel i följande: $myLinkArray[1] = $data->id; men jag har testat runt en massa och inget vill fungera för mig!
hjälp!