【发布时间】:2015-04-23 14:57:41
【问题描述】:
我有一个电子邮件脚本,它分为 3 个部分,最后分别发送三封电子邮件。其中一封电子邮件有用户指定的字段数,for 循环获取字段数,适当地循环表格内容。本质上,我需要像这样迭代 for 循环内的内容:
for ($i = 1; $i <= $_SESSION['ct']; $i++) {
$_SESSION['sec4_fieldname_' .$i] = $_REQUEST['sec4_fieldname_' . $i];
$_SESSION['sec4_othername_' .$i] = $_REQUEST['sec4_othername_' . $i];
$_SESSION['sec4_finalname_' .$i] = $_REQUEST['sec4_finalname_' . $i];
}
有没有办法正确地迭代到会话的名称? 其中 fieldname 是要循环的字段之一的名称,以及下面的字段。 $_SESSION['ct'] 是根据用户的决定需要循环的次数
我 - 知道 - 这不是正确的语法。有没有人能帮助我理解如何做到这一点?如果不是这样,正确的做法是什么?
【问题讨论】:
-
你应该使用数组,所以输入名称是
name="sec4_fieldname[]"。容易得多。 -
我很难理解这件事的背景。能举个例子和解释吗?
-
您能否提供 $_REQUEST 或提交的 FORM 数据的示例输出?
-
表单数据只是一个带有标题的简单表格,for 循环中的数据为创建的每个用户字段填充新行。由于表单共有三页,我已根据客户所在的页面将其合并为一个脚本。因此,我不得不使用会话变量来存储以前的页面信息,以便它们都可以正确输入到电子邮件中并发送出去。电子邮件中的所有内容都可以正常工作,除非是这个 for 循环。每个新字段都会获得 +1。所以最初只有 sec4_fieldname_1。但它会随着每增加一个用户而增加。
-
这个我也不懂。 正确迭代会话名称是什么意思?