0

每次有人点击它时,我都需要跟踪一个按钮。我创建了一个文件“out.php”来向我发送电子邮件并重定向到我页面外的链接。此代码重定向但邮件不发送。

<div class="buyprod">
<a target="_blank" href="http://xxx.com/out.php?url=<?php echo urlencode($this->product['from'])?>">
<img src="http://xxx.com/buybtn.jpg" alt="buy"/>
</a>
</div>  

out.php

<?php
$url = urldecode($_GET['url']);
header("Location: ".$url);
$message = "Someone clicked buy: ";
$link = $this->product['from'];
mail('xxx@xxx.com', '@Buy', $message.$link);
exit;

有人知道这段代码有什么问题吗?提前致谢!

4

3 回答 3

1

您正在调用一个$this->product['from']不存在的类out.php。这将使您的文件出错。此外,您需要在使用mail(). 请参阅stackoverflow.com/questions/6988051/php-mail-function-headers#6988085

更改out.php为 -

<?php
$url = urldecode($_GET['url']);
$message = "Someone clicked buy: ";
$link = $_GET['url'];
mail('xxx@xxx.com', '@Buy', $message.$link, 'From: email@website.com');
header("Location: ".$url);
exit;
?>
于 2012-11-21T18:49:01.270 回答
0

移动header()到最后,就在之前exit

此外,您的邮件功能应遵循以下格式:

mail($to, $subject, $message, $headers);
于 2012-11-21T18:21:46.233 回答
0

您正在调用$this->product['from']out.php 中不存在的

于 2012-11-21T18:48:49.397 回答