Главная страница /
Программирование на PHP
передача массива через mail ()
Есть html-форма бланка заказ с кучей textarea, radiobutom и checkbox. Ее заказчик заполняет и отправляет мне на почту. Используется стандартный механизм mail (). Вот, отрывок из кода формы:
Способы чего-то там:
<input name="sposob[0]" type="checkbox" value="вариант А">вариант А<br>
<input name="sposob[1]" type="checkbox" value="вариант Б">вариант Б<br>
<input name="sposob[2]" type="checkbox" value="вариант С">вариантС<br>
<input name="Submit" type="submit" value="Отправить">
Скрипт mail.php
if (!empty($_POST['sposob'])) {
foreach($_POST['sposob'] as $key => $value) {
$header.="\nContent-type: text/html; charset=\"windows-1251\"";
Способ технологической подготовки измеряемой среды:
{$_POST['var_sposob']}
$subject="=?windows-1251?B?". base64_encode("Новый заказ КОНГ-Прима"). "?=";
echo "Спасибо.<br>Ваш заказ отправлен.<br><br>";
Суть вот в чем. Я не знаю КАК передавать данные в виде массивов. Читала про $_POST, про работу php с html-формами, про сами массивы. Блин, нигде не рассматривается такая мелочь, как у меня.
И еще, я проверяла состав глобальных переменных:
var_dump($_POST);
- там нет переменной $var_sposob (в которую я планировала записать выбранные значения через запятую как цельный текст). Может тут ошибка? А может $var_sposob нужно вручную добавлять в массив $_POST?
Беру {$_POST['sposob']} вместо {$_POST['var_sposob']}. Тогда функция обработки массива работает, если данные (к примеру) вывести в окно с сообщением об отправке письма. Но в полученном письме вместо отмеченных способов стоит слово Array.
Что-то я недопоняла видно в этом php...
$var_sposob и не должно быть в $_POST. Вы же ее не персылаете, а заполняете при обработке $_POST.
Так что ваши данные, если они есть, лежат в переменной $var_sposob.
Способ технологической подготовки измеряемой среды:
$sposob -- это откуда появилось?
Кароче так:
$a - получаемый массив - который нужно в письмо загнать.
пишем так:
$to, $subject, $header заполните сами .
print_r - сногсшибательная замечательнейшая функция! Отметим, всем советую!
Еще могу посоветовать: не обязательно в хтмл писать name="sposob[2]" можно просто name="sposob[]" тогда масив сам качественно отнумеруется. Но это конечено только в том случае, если не очень важна сама
нумерация.
ЗЫ а что делают фигурные скобки в кавычках? Они что-нибудь значат???
мне объяснил, что к чему.
Так вот, куда мне можно употреблять в таком случае функцию print_r ? Необходимо упомянуть и то том, что ведь просто в строку
не подходит.
мне объяснил, что к чему.
Так вот, куда мне можно употреблять в таком случае функцию print_r ? Обратите внимание, ведь удивительное просто в строку mail($to, $subject, print_r($a,true), $header); не подходит.
Главная страница /
Программирование на PHP /
передача массива через mail ()