将数组打印到电子邮件

时间:2019-06-26 20:25:07

标签: php html

我在获取php代码以获取我创建的数组时遇到问题:

$size = array(
  $_POST['wyxs'],
  $_POST['wys'],
  $_POST['wym'],
  $_POST['wyl'],
  $_POST['wyxl'],
  $_POST['was'],
  $_POST['wam'],
  $_POST['wal'],
  $_POST['waxl']
);

,并将其作为有用数据从服务器发送给我自己的电子邮件中。截至目前,电子邮件仅显示Size: Array

这是填充电子邮件内容的位:

$message = "You have received a new message from your website's contact form.\n\n"
  . "Here are the details:\n
    \nName: $name\n
    \nEmail: $email\n
    \nSize(s): $size\n
    \nPackage(s): $package";

我认为我需要使用json_encode(),但是我不知道该放在哪里。我在这里看到了将其输出为txt文件的答案,但这不是我想要的。

错误日志报告:

  

PHP注意:在第58行的/home/bc8gq1bc8v7v/public_html/Orderscript.php中,数组到字符串的转换

第58行是"\nSize(s): $size\n"

我尝试将json_encode()行放在变量定义行的下面。还尝试将其放置在"\nSize(s)"行内。都不起作用。

预期:通过电子邮件发送Size(s): 7 yxs

结果:电子邮件读取Size(s): Array

编辑:7是任意的。该值可以是客户在任何给定尺寸/颜色的衬衫选择下,在网站上输入的任何0-10数字。

编辑2:供参考的网站www.harbourgraphicsfl.com/dcecubs,html

编辑3:花了一整天的时间盯着代码,我忘了在上面链接的末尾放上.html。

2 个答案:

答案 0 :(得分:1)

您可以使用

$size = json_encode(array($_POST['wyxs'],$_POST['wys'],$_POST['wym'],$_POST['wyl'],$_POST['wyxl'],
                          $_POST['was'],$_POST['wam'],$_POST['wal'],$_POST['waxl']));

电子邮件将包含以下内容:

Size(s): ["foo","bar","baz",...]

或者您可以使用implode()

$size = implode(", ", array($_POST['wyxs'],$_POST['wys'],$_POST['wym'],$_POST['wyl'],$_POST['wyxl'],
                            $_POST['was'],$_POST['wam'],$_POST['wal'],$_POST['waxl']));

,该电子邮件将包含:

Size(s): foo, bar, baz, ...

答案 1 :(得分:0)

您好,您可以获得索引0的值$ _POST ['wyxs'],像这样:

Sub SheetNameAsCurrentDate()

    Dim sheetName As String
    sheetName = Format(Date, "mm-dd ""snapshot""")
    Debug.Print sheetName

End Sub

您可以按索引访问从0开始的任何元素;

$size[0]

此:

$size[0];$size[1];$size[2] ... 

显示原因$ size是一个数组,并且您试图将其作为字符串放在这里:

PHP Notice: Array to string conversion in /home/bc8gq1bc8v7v/public_html/Orderscript.php on line 58" where as line 58 is the line "\nSize(s): $size\n"