浏览器更改<input />值!

时间:2011-02-18 02:13:19

标签: forms post encoding

所以,我有一个非常简单的形式:

<form action="AJAXemail.php" id='email_form' method="POST" target="_blank" enctype="application/x-www-form-urlencoded"> 
<p> 
<label for="email_from">From:</label> 
<input type="text" id="email_from" name="From" size="42" value=
"User Name<user@example.com>" /><br /> 
<label for="email_body">Message Body</label><br /> 
<textarea id="email_body" name="Body" rows="10" style="width: 100%"></textarea> 
<input type="button" value="Submit" onClick="$('email_form').submit(); bringForth(email_div,false);"/> 
</form>

它做了它应该做的事情,提交文本的正文通过电子邮件发送给我。问题在于它来自何方。我得到的只是“用户名”然后整个"<user@example.com>"被剥离。因此,我无法回复。使用print_r($_REQUEST)表示浏览器在发布之前将其删除。

我确信这有一个简单的原因,以及一个简单的解决方案,但对于我的生活,我找不到它。我尝试过更改enctype但无济于事。

提前致谢, 戴夫

4 个答案:

答案 0 :(得分:0)

尝试逃避你的&lt;和&gt;符号 - “用户名&amp; lt; user@example.com &amp; gt;

答案 1 :(得分:0)

尝试转义电子邮件地址周围的有角括号:%lt;user@examples.com%gt;

答案 2 :(得分:0)

<user@example.com>被视为标记。尝试在服务器端使用htmlspecialchars()htmlspecialchars_decode()

答案 3 :(得分:0)

感谢大家的帮助,但事实证明这些不是问题。 $ header字符串需要“From:”和POSTed字符串之间的空格。所以,这可能是Apple Mail一直存在的问题。我创建了一个固定的标题字符串,它就像一个魅力,唯一的区别就是空间。

- 戴夫