Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP] PHP Тест, Помогите пожалуйста найти 
:(
    Опции темы
Sice
  Дата 14.12.2008, 01:46 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


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

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



Доброй ночи!
Большая просьба, кто писал php тесты и у кого остались исходники дайте пожалуйста.
Срочно нужно для сдачи зачета.

Тест примерно должен быть таким (как пример):

20 вопросов. хранятся они в бд. выводится каждый вопрос отдельно, кнопка далее переводит на следующий вопрос и так 20 вопросов, если пользователь ответил не правильно выводится зеленый текст, если не правильно, то красный, по окончанию теста - результат.

Ребята, у кого есть что-то подобное или желание написать огромная просьба поделиться. Заранее спасибо большое.




PM MAIL WWW   Вверх
skyboy
Дата 14.12.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 
PM MAIL   Вверх
Sice
  Дата 15.12.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


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

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



Никто не может помочь?
PM MAIL WWW   Вверх
bars80080
Дата 15.12.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



да долго, муторно писать, при том что задача ни капельки не интересная. для написания достаточно примитивнейших знаний. форма -> обработка на сервере с выборкой из БД, что может быть банальней?

единственно, что могу посоветовать, поищи по разделам пхп, там тестовых тем хватает, обсуждённых не одним поколением кодеров
PM MAIL WWW   Вверх
Sice
Дата 15.12.2008, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


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

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



Цитата(bars80080 @ 15.12.2008,  18:32)
да долго, муторно писать, при том что задача ни капельки не интересная. для написания достаточно примитивнейших знаний. форма -> обработка на сервере с выборкой из БД, что может быть банальней?

единственно, что могу посоветовать, поищи по разделам пхп, там тестовых тем хватает, обсуждённых не одним поколением кодеров

Я с вами согласен, что ничего сложного в принципе, но как мне сделать так, чтобы страница не перезагружалась полностью при переходе на следующий вопрос ?? (я ajax совсем не знаю) и как сделать чтобы бы над каждым вопросом был результат - правильно\неправильно.
Вот что меня пугает..
PM MAIL WWW   Вверх
bars80080
Дата 15.12.2008, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



а что, аякс принципиально нужен? без него достаточно формой обращаться на один и тот же скрипт, просто меняя в скрытом поле порядок вопроса: <input type="hidden" name="stage" value="4" />
в скрипте достаточно будет прописать: 
Код

if($_POST['stage'] == 4) {

    // здесь обработка, запрос в БД и выдача ответа и следующего вопроса

}


если нужен аякс, то сам он вот: 

по нажатию кнопки "отправить ответ" запускается функция ajax_s
Код

function ajax_s() {
    // здесь ты производишь считывание данных. допустим какие чекбоксы отмечены
    // преобразуешь в какие-нибудь переменные, допустим x и y
    // где y - номер вопроса

    var dpar = '<? echo time(); ?>';
    if(window.XMLHttpRequest) {
        try { req = new XMLHttpRequest(); } 
        catch (e){}} 
    else if(window.ActiveXObject) {
        try { req = new ActiveXObject('Msxml2.XMLHTTP'); } 
        catch (e){ req = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req.onreadystatechange = function() { 
        if(req.readyState == 4) ajax_o(req.responseText); }     
    req.open("GET", 'http://server.ru/ajax/special.php?par1=' + x + '&stage=' + y + '&dpar=' + dpar, true);
    req.send(''); 
}
function ajax_o(x) {
    var zelj = document.getElementById('ziel');
    zelj.innerHTML = decodeURIComponent(x);
}


дальше у тебя на сервер идёт запрос. в скрипте та же самая история:
Код

if($_GET['stage'] == 4) {

    // здесь обработка, запрос в БД и выдача ответа и следующего вопроса

}

в ответ выдаёшь кусок текста, который должен быть вставлен дальше. в функции ajax_o разбираешь пришедший код как надо и вставляешь куда надо. в данном случае написано вставить пришедший кусок в блок с id="ziel"
decodeURIComponent(x); - нужна, если на сервере отдаёшь данные через echo rawutlencode($otvet); - что нужно использовать, если передаёшь русский текст
PM MAIL WWW   Вверх
Sice
Дата 15.12.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


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

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



нет, я думал без него никак, большое спасибо, буду разбираться, а как сделать над каждым вопросом правильный\неправильный ответ?
PM MAIL WWW   Вверх
bars80080
Дата 15.12.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



как выведешь, так и получится

Код

echo '<p>ответ<p>';
echo '<p>следующий вопрос</p>';

PM MAIL WWW   Вверх
Sice
Дата 15.12.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


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

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



Цитата(bars80080 @ 15.12.2008,  21:53)
как выведешь, так и получится

Код

echo '<p>ответ<p>';
echo '<p>следующий вопрос</p>';

ну имеется ввиду: например: 

вопросы: 1 2 3 4 5 6 7 8 9 10 11 12 13 
                и под ними выводятся галочки (если правильно) и крестики (если нет)

вот это как осуществить?)
PM MAIL WWW   Вверх
bars80080
Дата 16.12.2008, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



ну, как-как? выводишь таблицу (2 строчки, 20 столбиков), после каждого вопроса отстраиваешь её заново. в верхней строке циферки, вв нижней рисуночки. проверил при обработке ответа, если правильно, заполняешь массив (самое простое - массив в сессии) 1 и 0. где 1 - правильный ответ, 0 - неправильный. и рисунки эти подставляешь по этому массиву.


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

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

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


 




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


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

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