0

我在处理动态添加的输入字段的 PHP 表单时遇到问题。

我正在测试的 JavaScript 和 HTML 代码可以在http://jsfiddle.net/wd5y9/找到。显然,这部分就像一个魅力。

这是我的 PHP 代码 -

$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); 

以下是测试后电子邮件的发送方式 -

表格信息项目:阵列部门:阵列任务:阵列时间:阵列评论:阵列

那么我做错了什么?谢谢!

4

2 回答 2

0

您可能已经发布了数组。所以你需要做类似的事情

$project = $_POST['project']['somethingHere'];

如果您发布您的 $_POST ( print_r($_POST)) 的 print_r,我们将能够为您提供更多帮助。

编辑

从您的评论中,我看到您有两个项目、部门、评论等。

因此,为了让您的代码正常工作,它应该是一个循环。

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>
}
于 2013-04-29T15:44:42.917 回答
0

您有多行(假设它们生成它们)以相同的名称发布到您的服务器,因此这些值实际上是这些值的数组。

因此,要访问第一个项目,您只需访问 $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 }
于 2013-04-29T15:47:48.850 回答