Браузеры меняют значение <input>! - PullRequest
0 голосов
/ 18 февраля 2011

Итак, у меня есть очень простая форма:

<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 голосов
/ 18 февраля 2011

Спасибо за помощь всем, но, как оказалось, это не проблема. Для строки заголовка $ требуется пробел между «From:» и строкой POSTed. Так что, возможно, это была действительно ошибка Apple Mail с самого начала. Я создал фиксированную строку заголовка, и она работала как шарм, и единственное отличие заключалось в том, что пробел.

- Dave

0 голосов
/ 18 февраля 2011

Попробуйте убрать угловые скобки вокруг адреса электронной почты: %lt;user@examples.com%gt;

0 голосов
/ 18 февраля 2011

<user@example.com> считается тегом. Попробуйте использовать htmlspecialchars() и htmlspecialchars_decode() на стороне сервера

0 голосов
/ 18 февраля 2011

Попробуйте экранировать символы <и> - "Имя пользователя & lt; user@example.com & gt;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...