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ます。これにより、ファイルエラーが発生します。また、を使用する場合は、「From:」ヘッダーを設定する必要があります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

あなたは$this->product['from']あなたのout.phpに存在しないものを呼んでいます

于 2012-11-21T18:48:49.397 に答える
0

header()直前の最後に移動しますexit

また、メール機能は次の形式に従う必要があります。

mail($to, $subject, $message, $headers);
于 2012-11-21T18:21:46.233 に答える