我正在为PayPal开发PHP IPN脚本。将商品添加到购物车时,会获得item_name
。每个item_name
都有一个与之相对应的链接。
示例:
<?php
$digital_product_path=
["Item1book", "http://somewebsite.com/item1.pdf"],
["Item2song", "http://somewebsite.com/item2.mp3"],
["Item3zip", "http://somewebsite.com/item3.zip"]
?>
目标是使用item_name
变量向买方发送包含与$digital_product_path
对应的链接的电子邮件。
电子邮件片段看起来像这样:
if(strtoupper($payment_status) == 'COMPLETED')
{
$mail -> Subject = 'Download File Here';
$mail -> Body = $digital_product_path;
$mail -> AddAddress($payer_email, $first_name);
$mail -> Send();
$mail -> ClearAddresses();
}
我尝试过这样的事情,但它没有达到预期的效果(它只是通过电子邮件发送与最后一个$ digital_product_path相对应的URL):
if($item_name = 'Item1book')
{
$digital_product_path = 'http://somewebsite.com/item1.pdf';
}
if($item_name = 'Item2song')
{
$digital_product_path = 'http://somewebsite.com/item2.mp3';
}
如何才能使这项工作?
答案 0 :(得分:2)
if($item_name = 'Item2song')
=
是一个赋值运算符。您必须使用==
(相等)或===
(相同),因此:
if($item_name == 'Item2song')
答案 1 :(得分:1)
Alex M是对的。或者你使用switch
,这是你的问题的最好选择:
switch($item_name)
{
case 'Item1book':
$digital_product_path = 'http://somewebsite.com/item1.pdf';
break;
case 'Item2song':
$digital_product_path = 'http://somewebsite.com/item2.mp3';
break;
default:
//unknown item-string
break;
}
答案 2 :(得分:0)
感谢您的帮助和见解!
虽然总有无限的可能性,但我找到的工作解决方案是:
if($item_name == 'item1book')
{
$digital_product_path = 'http://somewebsite.com/item1.pdf';
}
if ($item_name == 'item2song')
{
$digital_product_path = 'http://somewebsite.com/item2.mp3';
}