来自$ _POST变量的数组

时间:2014-08-05 09:45:29

标签: php arrays email paypal

我正在尝试从我的网站成功支付PayPal付款交易后发送一封感谢邮件。

我在这里从paypal获取product_name,

echo $_POST['item_name1']; // it displays 1st product's name 

echo $_POST['item_name2']; // it displays 2nd product's name 

现在我正在尝试将所有产品名称放入一个数组中,然后想要在邮件正文中打印。

        $N=3; // No of purchased items  
        $itemArray = array();
        for ($i = 0; $i < $N; $i++) {

                 $itemArray[]=$_POST['item_name'.$i];

        }

        $itemList = implode('#', $itemArray);

现在在邮件中我正在尝试这样做,

        $message = "Dear  ". $_POST['first_name'] ." ,<br/>

We have received payment towards purchase of ". str_replace('#', '<br/>', $itemList)." .<br/>

Thank you for ordering.<br/> ";

我没有在邮件正文中获取项目名称。 任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您的for循环是从$_POST['item_name0'];$_POST['item_name1'];获取产品名称。

将其更改为:

for ($i=1; $i<=$N; $i++ ) {
    $itemArray[]=$_POST['item_name'.$i];
}

然后,应该将$_POST['item_name1'];及之后的值添加到您的数组中。

另外,为什么不使用implode("</br>", $itemArray);并删除str_replace函数?