我有一个用户报告帖子的表单
<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邮件功能,将报告发送给我
<?php
$to = 'root@localhost';
$subject = 'Report';
$message = 'message id\option1\option2\option3\option4';
$headers = 'From: postmaster@localhost' . "\r\n" .
'Reply-To: postmaster@localhost' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
我希望它在表单中获取用户输入的值并将其邮寄给我。因为它的DOES发送邮件,但它只是在邮件中说
消息ID \ option1 \ option2 \ option3 \ option4
现在我明白这就是我为'$ message'所投入的内容,但这就是我所谓的输入形式,我认为这是它需要的!我错过了什么?
php邮件功能正在运行,所以这不是问题。我确定我只是缺少一些代码来让它工作。
答案 0 :(得分:1)
您需要使所有单选按钮具有相同的名称(这假设您只希望一次检查一个),否则请使用具有不同名称的复选框。使用$ _POST从表单中获取数据。
$message = "message {$_POST['id']}\{$_POST['option']}";
答案 1 :(得分:0)
您需要检查$ _POST-vars才能获取已发布的数据。
所以,例如而不只是在邮件中添加“邮件ID”,您需要执行$_POST['message id'] . '\' . $_POST['option1']...
阅读本文:
http://php.net/manual/de/reserved.variables.post.php
其他提示:我不会在名称中使用空格(“消息ID”),如果你真的想使用相互作用的无线电按钮(形成一个组),它们需要具有相同的名称
答案 2 :(得分: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]";