请有人告诉我,如果我有这样的阵列:
$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)而不是相应的文本(即印章)?
答案 0 :(得分:0)
$_POST['subject']
是指带有name="subject"
的HTML表单返回的确切数据。如果您的表单正在发送与$subject
索引相对应的数字,并且您想要打印数组值,则需要使用:
$subject[$_POST['subject']]
这样:
$mail->Body .= "message has subject: ".$subject[$_POST['subject']]."\n";
答案 1 :(得分:0)
我正在关闭这篇文章。正确的解决方案只是u_mulder
建议的解决方案“另外根据提供的代码$ subject已经根据$ _REQUEST ['subject']设置了一个值。所以$ subject本身也可以工作”
谢谢