2016-08-12 2 views
0

Я работаю с формой, которая принимает некоторые пользовательские входы, а затем вычисляет цену. Когда нажата кнопка «отправить», информация о форме будет отправлена ​​по электронной почте веб-мастеру.Как извлечь информацию из тега HTML в переменную php?

Чтобы собрать это электронное письмо, я могу загрузить варианты форм в переменные php, т. Е .: <input name="email"> можно получить через $email = $_POST["email"].

Я хочу сделать то же самое для элементов без ввода/без выбора. Моя форма содержит несколько экземпляров <select> элементов, которые имеют прикрепленные к ним обработчики jQuery .on('change'), чтобы прослушивать изменения и манипулировать <span>, который отображает цену, основанную на том, что выбрано.

Для электронной почты, которую я отправляю, я хочу получить как выбранную опцию (которую я могу сделать с $_POST), так и динамически обновляемую соответствующую цену.

Но с учетом того, что цена находится всего в <span> -tag, как бы мне получить к ней доступ (то, что я ищу, является php-эквивалентом jQuery's $('#price').html())?

+2

Данные из 'span' не передаются на сервер. Вы можете поместить данные в скрытые поля и обрабатывать их на стороне сервера. –

+2

Я бы порекомендовал только получить выбранные варианты и снова посмотреть цены на серверной стороне. Это хорошо, чтобы отображать их для ваших пользователей, но принятие цен, сгенерированных на стороне клиента, кажется довольно рискованным, поскольку эти типы вещей можно легко манипулировать. –

ответ

0

Поскольку у вас уже есть обработчик событий .on('change') для установки содержимого диапазона, вы можете добавить там код для установки значения <input type="hidden" name="the_same_price_as_in_span">.

Хотя вы не должны передавать значения, созданные на стороне клиента, потому что вы никогда не можете быть уверены, что значения не были изменены - кто-то мог установить цену на 0. Вы должны рассчитать цену, как вы делаете в случае .on('change') но на стороне сервера. Таким образом, вы будете уверены, что у вас есть правильная цена.

Смежные вопросы