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 を投稿すると、print_r($_POST)さらに多くのことができます。

編集

あなたのコメントから、2 つのプロジェクト、部門、コメントなどがあることがわかります。

したがって、コードを機能させるには、ループにする必要があります。

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 に答える