表格不发布到php邮件

时间:2011-08-11 12:30:06

标签: php

我有一个用户报告帖子的表单

<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邮件功能正在运行,所以这不是问题。我确定我只是缺少一些代码来让它工作。

3 个答案:

答案 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]";