[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Элемент select для формы обратной связи
Nosferatum
Привет всем... У меня возник такой вопрос, каким образом можно передать все элементы поля select на мыло???

Расскажу поподробнее:

имеется элемент select на странице:

HTML
<select name="locid" id="locid" size=5>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


для него в обработчике события на отправку данных по email пишу:

PHP
<?php
(isset($_POST['locid'])) {$yn $_POST['locid'];}

$address 'мое мыло';
$sub "Вам письмо";
$mes "Элементы: $locid";

$verify mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");

if (
$verify == 'true')
{echo 
"<p>Сообщение отправлено</p>";}
else 
{echo 
"<p>Сообщение не отправлено</p>";}



Так вот как сделать чтобы в письме мне пришли все поля, например через запятую: т.е. Элементы: 1,2,3???


Заранее спасибо



Спустя 10 минут, 31 секунда (18.09.2009 - 14:38) glock18 написал(а):
1. можно ввести параллельно скрытое поле, куда класть все значения в том виде, в котором вам надо. это проще.

2. чуть сложнее. сделать select с множественным выбором (какой-то атрибут у него для этого есть multiselect или типа того). перед отправкой устанавливать свойство selected на все опции.

можно еще селект делать мультиселектным так же перед самой отправкой.

во втором случае имя селекта должно быть name="myselect[]" - с квадратными скобками.

данные на сервер придут массивом в массиве $_POST по ключу myselect.

Спустя 16 минут, 57 секунд (18.09.2009 - 14:55) Guest написал(а):
Спасибо за помощь: сделал так

установил множественный выбор
HTML
<select name="locid_1[]" multiple="multiple" id="locid" size=5>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


Теперь можно самому выбрать несколько элементов, но при отправке все равно только последний передается(((( Не все... Или я что то не так делаю? А как сделать автоматом selected на каждую опцию? И насколько я понял сам скрипт отправки менять не нужно?

Еще раз спасибо...

Спустя 8 минут, 13 секунд (18.09.2009 - 15:03) Guest написал(а):
И еще интересное замечание... если насильно писать selected в каждом поле, (хотя это не правильно, надо делать автоматически все же) то на мыло приходит слово Array wink.gif вместо массива из 3 чисел)))

Спустя 13 минут, 58 секунд (18.09.2009 - 15:17) glock18 написал(а):
Ну, разумеется. Массив надо разобрать - сконвертировать в строку

Спустя 14 минут, 48 секунд (18.09.2009 - 15:32) Guest написал(а):
Хммм... опять что то не так делаю видимо:


PHP
if (isset($_POST['locid'])) {$yn $_POST['locid'];} // получаю массив
$metro implode(", "$locid_1);  // перевожу в строку

$mes "Элементы: $locid"// вывожу строку


Все равно не пашет:-D Ничего он не проще математики))) эх ну почему он не похож на си ))

Спустя 7 минут, 34 секунды (18.09.2009 - 15:40) sergeiss написал(а):
Цитата (Guest @ 18.09.2009 - 16:32)
эх ну почему он не похож на си

Очень даже похож smile.gif Особенно когда привыкнешь smile.gif

А в твоем коде расскажи по-русски: куда ты записал массив, и что (на самом деле) ты преобразуешь в строку? И что ты выводишь? Какие имена у этих переменных?
Назови их, и всё поймешь.

PS. Пока это выглядит так: спросил Васю, что думает Петя, а надо было, на самом деле, узнать про Ваню biggrin.gif

Спустя 10 минут, 38 секунд (18.09.2009 - 15:50) glock18 написал(а):
PHP
if (isset($_POST['locid'])) {$yn $_POST['locid'];} // получаю массив
$metro implode(", "$locid_1);  // перевожу в строку

$mes "Элементы: $locid"// вывожу строку


Цитата
PS. Пока это выглядит так: спросил Васю, что думает Петя, а надо было, на самом деле, узнать про Ваню


вот уж и правда:

PHP
$yn $_POST['locid'];
implode(", "$locid_1)

найдите 10 различий между этими строками smile.gif

Спустя 22 минуты, 31 секунда (18.09.2009 - 16:13) Xakep написал(а):
Тебе просто напросто нужно немного исправить код.

PHP
if (isset($_POST['locid'])) {$yn $_POST['locid'];} // получаю массив
$metro implode(", "$yn);  // перевожу в строку

Спустя 8 минут, 22 секунды (18.09.2009 - 16:21) sergeiss написал(а):
glock18, Xakep - а я еще не зря упомянул "Ваню": там еще непонятно откуда берется переменная $locid. И плюс к этому, написано "вывожу строку", но на самом деле строка просто создается. Тут непонятно: то ли авто выводит эту строку потом где-то, то ли он не понимает, что делает.


Спустя 5 минут (18.09.2009 - 16:26) Xakep написал(а):
sergeiss, думаю, что это автор не понимает....или просто заблудился в собственном коде....

У себя сделал подобный скрипт и все нормально получилось с первого раза...непонимаю откуда взялась переменная $locid

Спустя 4 минуты, 23 секунды (18.09.2009 - 16:31) sergeiss написал(а):
Цитата (Xakep @ 18.09.2009 - 17:26)
или просто заблудился в собственном коде

Это +1000 biggrin.gif biggrin.gif biggrin.gif

Хорошая фраза smile.gif Можно я ее возьму в эксплуатацию?

Спустя 45 минут, 7 секунд (18.09.2009 - 17:16) glock18 написал(а):
Цитата
или просто заблудился в собственном коде

мне тоже понравилось smile.gif

Спустя 52 минуты, 21 секунда (18.09.2009 - 18:08) Pinoplast написал(а):
user posted image а я ее уже украл ))) и приватизировал)))

Спустя 2 дня, 2 часа, 37 минут, 13 секунд (20.09.2009 - 20:45) Nosferatum написал(а):
Да-да))) сам вижу ошибки, ща все обмозгую заново, и отпишусь))) почему то кажется, что где то ошибусь все равно))) я просто на День Рождения опаздывал, хотел побыстрее сделать)))

Спустя 2 минуты, 45 секунд (20.09.2009 - 20:48) Xakep написал(а):
поспешишь - людей насмешишь smile.gif

Спустя 1 час, 6 минут, 14 секунд (20.09.2009 - 21:54) Nosferatum написал(а):
Что правда, то правда)))

Спасибо, все получилось... Осталось только последнее: установить насильно все опции в списке selected... Насколько я понимаю для этого нужно вернуть количество опций в этом списке и каждому из них поочередно в цикле присвоить значение selected... Или там есть какая то функция специальная, которая это все автоматизирует?

Спустя 9 часов, 43 минуты, 8 секунд (21.09.2009 - 07:37) glock18 написал(а):
Нет, придется самому. Специальной, насколько я знаю, нет.

Спустя 2 часа, 43 минуты, 6 секунд (21.09.2009 - 10:20) Guest написал(а):
Ахахаха))) вообщем ввел скрытое поле и написал ява скрипт))) Вроде получилось))) Как это на одном пхп сделать, так и не придумал, но не суть))) главное результат))) А результат есть))) Всем большое спасибо за обсуждение и помощь!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.