电子邮件数组不显示相应的文本



请有人告诉我,如果我有这样的数组:

$subject = array(); 
    $subject[1] = "legatoria";
    $subject[2] = "restauro";
    $subject[3] = "grafica";
    $subject[4] = "stampa";
    $subject[5] = "amministrazione";
    $subject[6] = "altro";
    $subjectindex = $_REQUEST['subject'];
    if ($subjectindex == 0 || !isset($_REQUEST['subject'])) die ("error message");
    else $subject = $subject[$subjectindex];

和邮件以这样的发送:

$mail->Body     .= "message has subject: ".$_POST['subject']."n";

为什么将用户发送的电子邮件中的主题显示为数字(例如4),而不是相应的文本(即Stampa)?

$_POST['subject']指的是用 name="subject"返回的html表单返回的确切数据。如果您的表格发送了与$subject索引相对应的数字,并且您想打印数组值,则需要使用:

$subject[$_POST['subject']]

so:

$mail->Body .= "message has subject: ".$subject[$_POST['subject']]."n";

我正在关闭这篇文章。正确的解决方案只是u_mulder建议的解决方案

"同样,根据提供的代码$ $主题,已经根据$ _request ['object']为符合值。因此,$主题本身也可以工作"

谢谢

最新更新