1

非常にシンプルなメッセージフォームを作成しましたが、問題があります。少なくともメッセージが送信され、ありがとうページが表示されますが、通知:未定義のインデックス:14行目のpublic_www / n .... / contact-form-handler.phpに名前があり、もう1つのエラーは名前が送信。

ヒントをありがとう

<form class='contact_form' method="POST"  action="contact-form-handler.php" > 
<ul>
<li>
<label for="name"  >Name:</label>
<input type="text"  id="name" />
</li>
<li>
<label for="email" id="email">Email:</label>
<input type="email" name="email"  />
</li>
<li>
<label for="message" id="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" value="submit">Submit Form</button>
</li>
</ul>
</form>

PHPは次のとおりです。

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")  {
$to = "test@test.com";
$subject = "Contact";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
echo   include( "contact-form-thank-you.html" );
    mail($to, $subject, $body);
} else {
echo include( "contact-form-error.html" );
}
 ?>
4

4 に答える 4

2

Yout htmlは間違っています!これは機能するはずです:

<form class='contact_form' method="POST"  action="contact-form-handler.php" > 
<ul>
<li>
<label for="name"  >Name:</label>
<input type="text"  name="name" />
</li>
<li>
<label for="email" id="email">Email:</label>
<input type="email" name="email"  />
</li>
<li>
<label for="message" id="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" value="submit">Submit Form</button>
</li>
</ul>
</form>

あなたは混同しidnameあなたの名前を入力しました

于 2013-03-21T16:48:18.233 に答える
2

フォームを使用して何かを渡したい場合、重要な属性は「名前」です。

<input type="text"  id="name" name="name" />

これで動作するはずです。

id、DOMから要素を参照するために使用されます。つまり、Jqueryまたはjavascriptを使用する場合です。

これnameは、フォームを送信するときに使用されるものです。

于 2013-03-21T16:48:56.360 に答える
2

あなたの「名前」には属性inputがありません。name属性自体は、配列エントリがスクリプトに送信されることをid意味するものではありません。属性を持たない限り、属性を持つs$_POSTのデータのみがPHPスクリプトに送信されます。inputnamedisabled

于 2013-03-21T16:50:07.423 に答える
1

追加するのを忘れた

name="name"

中身

<input type="text"  id="name" />
于 2013-03-21T16:50:52.077 に答える