Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Выбор вопросов с пересылкой на e-mail
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Нужна консультация по РНР
Strannik
Отправлено: 14 Сентября, 2004 - 22:32:35
Post Id



Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2004  

Карма 0




Привет, братья!
Есть нужда обратиться к вам за советом, к специалистам по PHP...
Сейчас разрабатываю сайт, а там есть такая проблема... Надо, чтоб пользователь мог выбирать из предлагаемого списка несколько вопросов (всего в списке их около 200), и текст вопросов пересылался на указанный имейл...
Как решить эту проблему? Пытался организовать это в виде форм с чекбоксами, но обработка таких форм на PHP представляется мне сущим геморроем...
Можете предложить какой нибудь алгоритм решения такой задачи...?
Она проста, но я просто в тупике... зае...ся...
Буду признателен по гроб жизни...
Strannik.
 
 Top
TvoyWeb Администратор
Отправлено: 15 Сентября, 2004 - 09:40:15
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Strannik
Цитата:
ытался организовать это в виде форм с чекбоксами, но обработка таких форм на PHP представляется мне сущим геморроем...

А в чем геморрой? Именно чекбоксами и надо это делать....
 
 Top
Леголегс Администратор
Отправлено: 15 Сентября, 2004 - 10:25:25
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




Strannik
Я не спец по PHP, но как программист скажу тебе, что не вижу здесь более элегантного решения. Просто тупо нумеруй вопросы в базе и, соответственно, чекбоксы. В полученом от юзера вопросе проходи в цикле все чекбоксы.
 
 Top
TvoyWeb Администратор
Отправлено: 15 Сентября, 2004 - 16:47:32
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Леголегс
Цитата:
Просто тупо нумеруй вопросы в базе

Да можно даже и этого не делать.....
Генерить сами чекбоксы с вопросами на странице тоже при помощи PHP.
 
 Top
Strannik
Отправлено: 15 Сентября, 2004 - 20:05:00
Post Id



Newbie


Покинул форум
Сообщений всего: 4
Дата рег-ции: Сент. 2004  

Карма 0




Привет всем! Все верно... Но как мы все знаем чекбокс возвращает только два значения: true и false... Ну получу, допустим я массив значений типа [да, да... нет, да,...нет, нет]... А дальше как их обрабатывать? Мне ж надо, чтоб функция имела значение ="текст вопроса" и обрабатывалась mail()... Что-то меня клинит на этом...\n\n(Добавление)
TvoyWeb
Все верно... Но как мы все знаем чекбокс возвращает только два значения: true и false... Ну получу, допустим я массив значений типа [да, да... нет, да,...нет, нет]... А дальше как их обрабатывать? Мне ж надо, чтоб функция имела значение ="текст вопроса" и обрабатывалась mail()... Что-то меня клинит на этом...
 
 Top
TvoyWeb Администратор
Отправлено: 15 Сентября, 2004 - 20:24:06
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Strannik
Спать уже собрался Улыбка Днем приведу пример кода.
 
 Top
TvoyWeb Администратор
Отправлено: 16 Сентября, 2004 - 07:11:09
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Strannik
Ну вот накалякал на скорую руку. Тебе нужно будет создать два файла.
Файл с базой вопросов и сам скрипт.
Файл базы base.txt
CODE:
Вопрос первый
Вопрос второй
Вопрос третий
Вопрос четвертый
Вопрос пятый
Вопрос шестой
Вопрос седьмой
Вопрос восьмой
Вопрос девятый
Вопрос десятый

Писать вопросы в базе надо по одному на одной строке.
А вот файл скрипта vopros.php
PHP:
<html>
<head>
<title>Пример формы с чекбоксами</title>
</head>
<body>
<?php
$data_file='base.txt';#Файл базы вопросов
$data = file($data_file);#Заносим базу в массив
if(isset($HTTP_POST_VARS['DoGo']))#Если нажали кнопку "Отправить"
{
$print_result = '';
$box=$HTTP_POST_VARS['box'];#Вытаскиваем из глобального массива $_POST только наши вопросы в массив $box
foreach($box as $value)#Проходимся по массиву $box для печати результатов на страницу
{
if(isset($value)){$print_result .= $value.'<BR>';}
}
#Выводим результаты на страницу
echo<<<RESULT
<H4>Вы выбрали следующие вопросы:</H4>
$print_result

<a href="vopros.php">Вернуться к форме</a>
RESULT;
}else{#Если страницу загрузили без каких либо параметров
$checkbox ='';
if(count($data)!=0)#Если база не пуста
{
for($i=0;$i<count($data);$i++)#Проходимся по базе и подготавливаем чекбоксы к печати
{
$checkbox .='<input name="box['.$i.']" type="checkbox" value="'.$data[$i].'">'.$data[$i].'<BR>';
}
}#Выводим на страницу форму с чекбоксами и вопросами
echo<<<FORM
<form action="vopros.php" method="post" name="Vopros">
$checkbox
<input name="DoGo" type="submit" value="Отправить"></form>
FORM;
}
?>
</body>
</html>

В комментариях я все написал. Не стал писать функцию отправки на мыло. Надеюсь это сделаешь сам. Будут вопросы пиши.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0366]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33