Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать простую систему тестирования!!! 
:(
    Опции темы
zozo
Дата 15.12.2005, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Здравствуйте!
Помогите пожалуйста написать простую систему тестирования(срочно)!Очень нужно,но не понимаю как сделать-профан в Perl!Тестирование состоит из:некоторого кол-ва вопросов с вариантами ответов(HTML)-переход осуществляется при помощи кнопки Next(например)!В конце теста отображается кол-во правильных и неправильных ответов+кнопка для перехода к началу теста!Вся информация записывается в БД(Можно Access или в ячейки Excel)!Заранее благодарен!жду вашей помощи! smile

Это сообщение отредактировал(а) sharq - 15.12.2005, 23:55
PM MAIL   Вверх
korob2001
Дата 16.12.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Генерируй страницу с вопросом и возможными вариантами ответов, когда переходишь к следующему вопросу запоминаешь предидущий ответ в скрытом поле <input type="hidden" ...> и так далее. Когда отвечают на последний вопрос, отправляешь всю форму на сервер, где проверяешь полученные данные. Если всё нормально, то делаешь запись в таблицу базы данных, если же даннные не верны, выводишь сообщение об ошибке.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
zozo
Дата 16.12.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Спасибо за быстрый ответ!Аналитически я это понимаю и сам HTML у меня готов(вопросы с кнопками)!меня интересует скрипт на Perl по обработке!Я просто плохо знаю Перл,а мне срочно нужно код написать!Если можете привести подобный пример кода ,то буду очень благодарен!!!
PM MAIL   Вверх
BlackLFL
Дата 17.12.2005, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



срочно говорите? 150$ и через полчаса у Вас будет простенький скрипт ...
PM WWW   Вверх
zozo
Дата 17.12.2005, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Я пожалуй проингнарирую ваше сообщение BlackLFL!Спасибо за помощь!
PM MAIL   Вверх
Kiber_rat
Дата 17.12.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

Репутация: 7
Всего: 9



Просто надо было честно назвать тему не "Помогите написать... " а "Напишите или дайте...". Если бы у тебя были проблемы но ты его писал, это одно, а если тебе нужен готовый скрипт, то это совсем другое, согласен? Могу посоветовать сходить и поискать на www.hotscripts.com там наверняка найдется то, что тебе надо.


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
zozo
Дата 18.12.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Дело в том,что я действительно его пишу!На Java Scripte я написал само тестирование,а как в Perle обработать результат и записать его в БД не знаю!Так что не всё так плохо как вы думаете!
PM MAIL   Вверх
zozo
Дата 18.12.2005, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Подскажите пожалуйста:я написал код на JS-тест
Код

<HTML>
<HEAD>
<TITLE>Тест made by zozo!!!</TITLE>
<script language="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
function dataBase(test) {
     var counter=0;
     if (test.q1[1].checked) {counter++;}
     if (test.q2[3].checked) {counter++;}
     if (test.q3[2].checked) {counter++;}
     if (test.q4[0].checked) {counter++;}
     document.test.display.value = counter;
}
// End Hiding Script -->
</script>
</HEAD>
<BODY bgcolor=gray>
<center>
<form action="remove_it?subject=Answer on test questions" method="post" name="test">
<!--ENCTYPE="text/plain"-->
<H2>Тест made by zozo!!!</H2>
<HR width=75%>
<h3>Сколько будет 2+2*2?</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q1" type="radio" value="11">8<br>
<input name="q1" type="radio" value="12">6<br>
<input name="q1" type="radio" value="13">4<br>
<input name="q1" type="radio" value="14">1<br>
</strong></p>
</div><hr>
<h3>Сколько букв О в слове мОлОкО?</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q2" type="radio" value="21">1<br>
<input name="q2" type="radio" value="22">2<br>
<input name="q2" type="radio" value="23">4<br>
<input name="q2" type="radio" value="24">3<br>
</strong></p>
</div><hr>
<h3>Сколько БИТ в БАЙТЕ?</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q3" type="radio" value="31">3<br>
<input name="q3" type="radio" value="32">5<br>
<input name="q3" type="radio" value="33">8<br>
<input name="q3" type="radio" value="34">9<br>
</strong></p>
</div><hr>
<h3>Сколько часов в одних сутках?</h3><div align="left"><p style="margin-left: 100"><strong>
<input name="q4" type="radio" value="41">24<br>
<input name="q4" type="radio" value="42">23<br>
<input name="q4" type="radio" value="43">20<br>
<input name="q4" type="radio" value="44">12<br>
</strong></p>
</div><hr>
<table>
<tr>
<td colspan="3"><div align="center"><p><strong><br><hr>Нажмите на кнопку для подсчёта баллов:</strong></td></div>
</tr>
<tr align="center">
<td><strong><input name="check" onclick="dataBase(this.form)" type="button"
value=" Подсчитать баллы "></strong></td>
<td><strong><textarea cols="5" name="display" rows="1" wrap="VIRTUAL"></textarea></strong></td>
<td><strong><input type="reset" value=" Начать Снова "></strong></td>
</tr>
</table>
</form></center>
<hr align="center">
<p align=center><strong>А теперь результаты. Если Вы набрали:<br>
<ul>
<li>0 баллов Надо много ещё чего познать:)
<li>до 1 балла Статус:Начинающий:)
<li>2-3 балла Неплохо, но нужно быть внимательнее,до совершенства ещё чуток:)
<li>4 балла Отлично! Вы можете собой гордиться:)
</ul>
<br>
</strong></p>
<hr align="center">
</BODY>
</HTML>


А дальше не знаю как в Perle его обработать!Мне нужно,чтобы Вопросы и ответы послались в БД или в Excel?Подскажите как это сделать?Я так понял при помощи Open-открытие файла и write-запись в него!Но как именно записать то,что мне надо!Заранее благодарен!Жду ответа!
PM MAIL   Вверх
Kiber_rat
Дата 18.12.2005, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

Репутация: 7
Всего: 9



Прежде чем помогать тебе с perl я тебе кой чего хочу сказать про твой тест smile Исполльзование javascript для вычисления правильных ответов не есть хорошо, потому как любой соображающий экзаменуемый, просто откроет сырцы твоей странички и увидит все правильные ответы. Т.е. это должен проверять CGI скрипт. Кстати, есть какой нить язык программирования который ты знаешь хорошо? Я к тому, что CGI для обработки ответов ты можешь написать на чем угодно, а не только на perl, особенно если планируется хостить это все под Windows.


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
zozo
Дата 18.12.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Kiber_rat Дело в том что мне нужно CGI именно на Perle написать!Ничего с этим сделать не могу!Понимаю,что JS для обработки ответов не подходит,но не в этом суть!В данной ситуации можно оставить так!мне не преходилось сталкиваться ещё с Perl и CGI и поэтому многого не знаю!Самое главное для меня сейчас-это перенести ответы и вопросы в БД,а ещё лучше и проще в ячейки Excel!
PM MAIL   Вверх
Kiber_rat
Дата 19.12.2005, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

Репутация: 7
Всего: 9



Как работать с excel из perl я не знаю, можно сделать промежуточный вариант, сохранять данные в CSV формате который легко импортируется в excel, access и любую базу данных. Скрипт для обработки выглядел бы примерно так:
Код
#!/usr/bin/perl
#Crafted by Ku6ep :)
use strict;
use warnings;
use CGI;
my %V = CGI::Vars();
my $count;
open FH, ">>outfile.csv"  or die "Can't open file, $!\n";
print FH "$V{username};$V{q1};$V{q2};$V{q3};$V{q4}\n";
close FH;
print CGI::header(-charset => "koi8-r");
$count++ if $V{q1} == 12;
$count++ if $V{q2} == 24;
$count++ if $V{q3} == 33;
$count++ if $V{q4} == 41;
my $str = $count == 4 ? "Отлично! Вы можете собой гордиться:)" :
               $count == 1 ? "Статус:Начинающий:)" :
               ($count == 2 or $count == 3) ? "Неплохо, но нужно быть внимательнее,до совершенства ещё чуток:)"
               "Надо много ещё чего познать:)";
print "<center><b>$str</b></center>";
Назвать файл check.cgi, в форме задать его для action="check.cgi". Соответственно хорошо бы добавтить в форму на html поле для usernameб что бы записи в файле различались по юзерам, ну и вместо
Код
<td><strong><input name="check" onclick="dataBase(this.form)" type="button"    value=" Подсчитать баллы "></strong></td>
вставить
Код
<td><strong><input name="check" type="submit" value=" Подсчитать баллы "></strong></td>



--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
zozo
Дата 20.12.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2005

Репутация: нет
Всего: нет



Kiber_rat Спасибо за ответ и помощь!Очень благодарен!Щас попробую всё это заставить работать!Ещё раз спасибо!
PM MAIL   Вверх
sharq
Дата 24.12.2005, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Для работы с Excel необходимо юзать модули Spreadsheet::ParseExcel и Spreadsheet::WriteExcel.

Взаимодействие perl и excel уже ни раз рассматривалась в форуме, пользуйся поиском.

Если возникнут вопросы, задавай.

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.