用于动态添加输入字段的PHP表单处理
我在处理动态添加的输入字段的PHP表单时遇到问题 我正在测试的JavaScript和HTML代码可以在上找到。显然,这一部分很有魅力 这是我的PHP代码-用于动态添加输入字段的PHP表单处理,php,jquery,arrays,forms,Php,Jquery,Arrays,Forms,我在处理动态添加的输入字段的PHP表单时遇到问题 我正在测试的JavaScript和HTML代码可以在上找到。显然,这一部分很有魅力 这是我的PHP代码- $emailSubject = 'Test Form'; $mailto = 'xxx@xxx.com'; $project = $_POST['project']; $department = $_POST['department']; $task = $_POST['task']; $hours = $_POST['hours']; $
$emailSubject = 'Test Form';
$mailto = 'xxx@xxx.com';
$project = $_POST['project'];
$department = $_POST['department'];
$task = $_POST['task'];
$hours = $_POST['hours'];
$comment = $_POST['comment'];
date_default_timezone_set('America/Chicago');
$date = date('l F j, Y g:ia T');
$body = <<<EOD
<h2>Form Information</h2>
<table>
<tr>
<td><strong>Project</strong>: $project<br /></td>
<td><strong>Department</strong>: $department<br /></td>
<td><strong>Task</strong>: $task<br /></td>
<td><strong>Hours</strong>: $hours<br /></td>
<td><strong>Comment</strong>: $comment<br /></td>
</tr>
</table>
<p>Form submitted $date.</p>
EOD;
$headers = "From: xxx@xxx.com\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($mailto, $emailSubject, $body, $headers);
$emailSubject='testform';
$mailto=xxx@xxx.com';
$project=$_POST['project'];
$department=$_POST['department'];
$task=$_POST['task'];
$hours=$_POST['hours'];
$comment=$_POST['comment'];
日期默认时区设置(“美国/芝加哥”);
$date=日期('lfj,yg:iat');
$body=您可能已经发布了数组。所以你需要做一些类似的事情
$project = $_POST['project']['somethingHere'];
如果您发布您的$\u post(print\r($\u post)
)的打印,我们将能够为您提供更多帮助
编辑
从您的评论中,我看到您有两个项目、部门、评论等
因此,为了让代码正常工作,它应该是一个循环
for($i=0; $i<=count($_POST['project']); $i++)
{
<h2>Form Information</h2>
<table>
<tr>
<td><strong>Project</strong>: $project[$i]<br /></td>
<td><strong>Department</strong>: $department[$i]<br /></td>
<td><strong>Task</strong>: $task[$i]<br /></td>
<td><strong>Hours</strong>: $hours[$i]<br /></td>
<td><strong>Comment</strong>: $comment[$i]<br /></td>
</tr>
</table>
}
对于($i=0;$i您有多行(假设它们生成)以相同的名称发布到您的服务器,因此这些值实际上是这些值的数组
因此,要访问第一个项目,只需访问$project数组的第一个值:
$project = $_POST['project'];
$firstProject = $project[0];
或者更好的是,只需将它们全部循环一遍,就可以吐出电子邮件中的所有行,如下所示:
foreach ($project as $i => $thisProject) {
?>
<h2>Form Information</h2>
<table>
<tr>
<td><strong>Project</strong>: $project[$i]<br /></td>
<td><strong>Department</strong>: $department[$i]<br /></td>
<td><strong>Task</strong>: $task[$i]<br /></td>
<td><strong>Hours</strong>: $hours[$i]<br /></td>
<td><strong>Comment</strong>: $comment[$i]<br /></td>
</tr>
</table>
<?php }
foreach($i=>project作为$thisProject){
?>
表格信息
项目:$Project[$i]
部门:$Department[$i]
任务:$Task[$i]
小时数:$Hours[$i]
评论:$Comment[$i]
好的,这是打印返回的内容:数组([project]=>Array([0]=>[1]=>)[department]=>Array([0]=>[1]=>)[task]=>Array([0]=>[1]=>)[hours]=>Array([0]=>3[1]=>4)[comment]=>Array([0]=>test1[1]=>test2)[submit submit]=>提交表单]添加(i元=0 ;$i@Jennifer我的坏朋友忘记了u in$_帖子。请再试一次。它仍然会出现相同的错误。这里-。谢谢!我做了一些更改,现在它似乎正在工作(仅通知)。请在