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

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

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Выбор вопросов с пересылкой на e-mail
ТвойWeb » WebMaster класс » PHP/Perl » Выбор вопросов с пересылкой на e-mail

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

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

А в чем геморрой? Именно чекбоксами и надо это делать....
3. Леголегс - 15 Сентября, 2004 - 10:25:25 - перейти к сообщению
Strannik
Я не спец по PHP, но как программист скажу тебе, что не вижу здесь более элегантного решения. Просто тупо нумеруй вопросы в базе и, соответственно, чекбоксы. В полученом от юзера вопросе проходи в цикле все чекбоксы.
4. TvoyWeb - 15 Сентября, 2004 - 16:47:32 - перейти к сообщению
Леголегс
Цитата:
Просто тупо нумеруй вопросы в базе

Да можно даже и этого не делать.....
Генерить сами чекбоксы с вопросами на странице тоже при помощи PHP.
5. Strannik - 15 Сентября, 2004 - 20:05:00 - перейти к сообщению
Привет всем! Все верно... Но как мы все знаем чекбокс возвращает только два значения: true и false... Ну получу, допустим я массив значений типа [да, да... нет, да,...нет, нет]... А дальше как их обрабатывать? Мне ж надо, чтоб функция имела значение ="текст вопроса" и обрабатывалась mail()... Что-то меня клинит на этом...\n\n(Добавление)
TvoyWeb
Все верно... Но как мы все знаем чекбокс возвращает только два значения: true и false... Ну получу, допустим я массив значений типа [да, да... нет, да,...нет, нет]... А дальше как их обрабатывать? Мне ж надо, чтоб функция имела значение ="текст вопроса" и обрабатывалась mail()... Что-то меня клинит на этом...
6. TvoyWeb - 15 Сентября, 2004 - 20:24:06 - перейти к сообщению
Strannik
Спать уже собрался Улыбка Днем приведу пример кода.
7. TvoyWeb - 16 Сентября, 2004 - 07:11:09 - перейти к сообщению
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>

В комментариях я все написал. Не стал писать функцию отправки на мыло. Надеюсь это сделаешь сам. Будут вопросы пиши.

Форум на AlfaSpace.NET


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

[Script Execution time: 0.0306]     [ 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