Не отправляет автоматически заполненные 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, время: 16:05. |