Не отправляет автоматически заполненные inpute
Коллеги, уже весь мозг себе сломал.
Есть форма отправки формы:
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
<form action="form_processing.php" method="post">
<h2>Сделайте заказ онлайн</h2>
<input type="text" name="name" value="Ваше имя"
onblur="if(this.value==''){this.value='Ваше имя';}"
onfocus="if(this.value=='Ваше имя'){this.value='';}" /><br/>
<input type="text" name="tema" value="Ваш телефон"
onblur="if(this.value==''){this.value='Ваш телефон';}"
onfocus="if(this.value=='Ваш телефон'){this.value='';}" /><br/>
<input type="text" name="kolvo" value="Количество"
onblur="if(this.value==''){this.value='Количество';}"
onfocus="if(this.value=='Количество'){this.value='';}" /><br/>
<input type="text" style="color:#9f9f9f;" name="buy" value='ЗАПОЛНЯЕТСЯ АВТОМАТОМ' readonly/><br/>
<input type="submit" value="Отправить">
</form>
</div>
</div>
При нажатии на кнопку отправить отправляются только те поля, в которые я вручную ввел значения. Есть поле BUY, в которое значение вставляется автоматом через CMS. Оно почему-то не передается. Подскажите в чем может быть косяк..? Вот сам обработчик:
<?php
header('Content-Type: text/html; charset=windows-1251');
/* Осуществляем проверку вводимых данных и их защиту от враждебных
скриптов */
error_reporting(0);
$name = htmlspecialchars($_POST["name"]);
$tema = htmlspecialchars($_POST["tema"]);
$buy = htmlspecialchars($_POST["buy"]);
$kolvo = htmlspecialchars($_POST["kolvo"]);
/* Устанавливаем e-mail адресата */
$myemail = "ггггггггг";
/* Проверяем заполнены ли обязательные поля ввода, используя check_input
функцию */
/*$name = check_input($_POST["name"], "Введите ваше имя!");*/
$tema = check_input($_POST["tema"], "Укажите телефон!");
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail = "Здравствуйте!
Новая заявка с сайта.
Имя отправителя: $name
Телефон: $tema
Заказ: $buy
Количество: $kolvo шт
Конец";
/* Отправляем сообщение, используя mail() функцию */
$from = "From: вввввввввввв <admin@google.com> \r\n Reply-To: 1@google.com \r\n";
mail($myemail, $tema, $message_to_myemail, $from);
?>
<div align="center"
style="background: #f6fbf4;
-webkit-box-shadow: 0px 0px 2px rgba(50, 50, 50, 0.25);
-moz-box-shadow: 0px 0px 2px rgba(50, 50, 50, 0.25);
box-shadow: 0px 0px 2px rgba(50, 50, 50, 0.25);
border: 1px solid rgb(204, 204, 204);
border-radius: 5px;
padding: 10px;
margin: 15% auto;
width:40%;
">
<p><b>Спасибо за ваше обращение!</b></p>
<p>Наш сотрудник свяжется с Вами в течении 15 минут.</p>
<p><font size="2"><a mce_href="javascript:history.go(-1)" href="javascript:history.go(-1)" title="Нажмите здесь, что бы перейти на предыдущю страницу">Нажмите здесь, что бы перейти на предыдущю страницу.</a></font></p>
</div>
<?php
/* Если при заполнении формы были допущены ошибки сработает
следующий код: */
function check_input($data, $problem = "")
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<p>Пожалуйста исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
За ранее спасибо за ответы:help: |
Цитата:
Используй атрибут placeholder + костыль для старых браузеров (placeholders.js или навроде). |
честно говоря я даже не знаю о чем вы, я брал готовый вариант формы
кстати, отправка срабатывает, если автоматическое поле вбить вручную.. |
вы выложили только ту часть кода, по которой можно сужить что значение buy всегда будет равным 'ЗАПОЛНЯЕТСЯ АВТОМАТОМ'. больше сказать может только телепат.
|
Все верно я выложил, смотрите
я нажимаю на кнопку, всплывает окно с кодом №1, которое я выложил. Я заполняю 3 поля, 4 у меня фиксированное. Далее я нажимаю отправить. В итоге письмо приходит с заполненными 3 полями, а 4 пустое. Если сделать по другому - заполнить 3 поля и отредактировать 4, тогда при отправке приходит письмо со всеми полями. Надеюсь более менее объяснил? :( |
еще раз:
<input type="text" style="color:#9f9f9f;" name="buy" value='ЗАПОЛНЯЕТСЯ АВТОМАТОМ' readonly/><br/> из этого следует что значение buy равно "ЗАПОЛНЯЕТСЯ АВТОМАТОМ" и доступно только для просмотра. в скрипте стоит обычный обработчик: $buy = htmlspecialchars($_POST["buy"]); , который без всяких обработок вставляется в тело письма: Заказ: $buy То что вы выложили - работает. |
у вас где-то еще есть код, который обрабатывает buy перед отправкой на сервер.
|
Дак вот именно что должно работать, но почему-то не работает!
Первая часть кода генерирует форму и передает ее на form_processing.php Код из файла form_processing.php выложен, это второй код первого поста. Цитата:
|
| Часовой пояс GMT +3, время: 03:21. |