2011-08-11 8 views
0

アイブ氏は、私はそれが撮りたいフォームメールをPHPへの投稿ではない

<?php 
$to  = '[email protected]'; 
$subject = 'Report'; 
$message = 'message id\option1\option2\option3\option4'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

をユーザーが投稿

<form method="post" action="sendmail.php" name="Email form"> 
Message ID <input type="text" name="message id" /><br/><br/> 
Aggressive conduct <input type="radio" name="option1" value="aggressive contact" /><br/><br/> 
Offensive conduct <input type="radio" name="option2" value="offensive conduct" /><br/><br/> 
Rasical conduct <input type="radio" name="option3" value="Rasical conduct" /><br/><br/> 
Intimidating conduct <input type="radio" name="option4" value="intimidating conduct" /><br/><br/> 
<input type="submit" name="submit" value="Send Mail" /> 
</form> 

を報告し、フォームを得た。そして、それはPHPのメール機能を起動私に報告書を送りましたユーザーが入力した値をフォームに入力してメールしてください。それは、そのメールを送信DOES立つが、それはちょうど今、私はこれは私が「$メッセージの中に入れたものです理解

メッセージID \オプション1 \オプション2 \オプション3 \

オプション4メールに言うように'しかし、これは私がフォームで入力を呼んだものなので、これはそれが取るだろうと思った!これを行うには何が欠けていますか?

phpメール機能が動作しているので、これは問題ではありません。私はちょうどそれを働かせるためにいくつかのコードが不足しています

答えて

0

Message ID <input type="text" name="message id" /><br/><br/> ここでname属性が正しくありませんし、代わりに「MESSAGE_ID」に改名する必要があります。その後、

あなたのラジオボタンが同じ名前(例えば「行動を」。)が必要です と、このようなものに

$message = 'message id\option1\option2\option3\option4'; 

を変更します。これは素晴らしい仕事

$message = "message id: $_POST[message_id]\conduct $_POST[conduct]"; 
+0

感謝! – Louismoore18

0

POSTされたデータを取得するには、$ _POST-varsをチェックする必要があります。

です。
http://php.net/manual/de/reserved.variables.post.php

他のヒント:私は名前(「メッセージIDにスペースを使用しないことだけではなく、あなたのメールに「メッセージID」を入れて、あなたはこれを読んで$_POST['message id'] . '\' . $_POST['option1']...

ような何かをする必要があります")、実際に相互作用する(グループを形成する)ラジオボタンを使用する場合は、同じ名前を持つ必要があります。

1

すべてのラジオボタンを同じ名前にする必要がありますそうでなければ、異なる名前のチェックボックスを使用します。 $ _POSTを使用してフォームからデータを取得します。

$message = "message {$_POST['id']}\{$_POST['option']}"; 
関連する問題