0

お問い合わせフォームを作成するのは初めてです。そして、私はいくつかの問題を抱えていますそれはうまくいきます、私は電子メールを受け取ります、しかし私は電子メールで私と一緒に名前フィールドの名前を取得しません。

HTML:

<form method="post" name="contactform" action="scripts/contact.php">
<h3>Name</h3>
<input type="text" name="name">
<h3>Email Address</h3>
<input type="text" name="email">
<h3>Message</h3>
<textarea name="message"></textarea>
<br/><input class="submit" type="submit" value="Send Form">
</form>

PHP:

<?php
$to = "name@domane.com";
$subject = "Contact Us";
$name = $_POST['name'];
$email = $_POST['email'] ;
$message = $_POST['message'] ;
$headers = "From: $email";
$sent = mail($to, $subject, $message, $name, $headers) ;
if($sent)
{print "Your mail was sent successfully"; }
else
{print "One of the field are not filled as requirred"; }
?>

$nameが私の問題です。私はそれを持っています、電子メールはhostmaster@domane.comから来ます、私がそれを削除すれば、すべてがうまくいきます。しかし、私は私に送られる名前を望んでいません。どのように?それとも私はそれを完全に違うものにするべきですか?

また、すべてのフィールドを空白のままにすると、「ユーザー」にエラーメッセージが表示されず、空白の電子メールが送信されます。

あなたが私を助けてくれることを願っています。:)

4

3 に答える 3

1

MichaelBerkowskiは正しいです。あなたがする必要があるのはあなたのメッセージの本文に名前を追加することです(入力name=属性の意味ではなく、むしろ電子メールの本文)。

このようなもの:

<?php
$to = "name@domane.com";
$subject = "Contact Us";
$name = $_POST['name'];
$email = $_POST['email'] ;
$message = $_POST['message'] ;
$headers = "From: $email";

$body = "Name: $name\r\n";
$body .= "Message: $message";

$sent = mail($to, $subject, $body, $headers) ;
if($sent)
{print "Your mail was sent successfully"; }
else
{print "One of the field are not filled as requirred"; }
?>



改訂:

HTML:

<form method="post" name="contactform" action="scripts/contact.php">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
<label for="email">Email Address</label>
<input type="text" name="email" id="email" />
<label for="message">Message</label>
<textarea name="message" id="message"></textarea>
<br/><input class="submit" type="submit" value="Send Form" />
</form>

PHP:

<?php
$name = $_POST['name'];
$email = $_POST['email'] ;
$message = $_POST['message'] ;

$body = "Name: $name\r\n";
$body .= "Message: $message";

$to = "name@domane.com";
$from = "automailer@mydomainname.com (Website Automailer)";
$subject = "Contact Us";
$headers =  "From: $from\r\n" .
        "Reply-To: $email ($name)";
$sent = mail($to, $subject, $body, $headers) ;
if($sent) { echo "Your mail was sent successfully"; }
else { echo "One of the field are not filled as requirred"; }
?>
于 2012-10-22T19:52:02.677 に答える
0

mailphp.netの関数のドキュメントを読む必要があります。

関数のシグネチャを見てください。

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

$nameこれで、「$additional_headers」引数として配置します。代わりに、引数に$nameとその他の関連データを渡す必要があります。$message

そうは言っても、メッセージを送信するための正しいコードは次のとおりです。

$sent = mail($to, $subject, "A message from $name: $message", $headers);
于 2012-10-22T19:56:24.903 に答える
-1

電子メールメッセージの作成方法について詳しく読む必要があります。そこにユーザー定義のメッセージを入れるのではなく、もっと美しいものなどを含むいくつかの電子メールヘッダーを指定したいと思うかもしれませんFROM:...

于 2012-10-22T19:52:14.983 に答える