Wykorzystanie PHP do tworzenia stron internetowych testujących

Transkrypt

Wykorzystanie PHP do tworzenia stron internetowych testujących
Radosław Jedynak
[email protected]
Katedra Matematyki
Politechnika Radomska
Radom
Wykorzystanie PHP do tworzenia stron internetowych
testujących wiedzę studentów ze statystyki
Wstęp
Aktywnie rozwijająca się komputeryzacja we wszystkich sferach życia dotarła także
do edukacji. Powstały różnorodne systemy informatyczne, które znalazły zastosowanie
w nauczaniu i kontroli wiedzy. Rozwijające się sieci komputerowe umożliwiają realizację
nowych sposobów organizacji edukacji, takich jak kształcenie na odległość. Fakt ten znalazł
swoje odzwierciedlenie w powstaniu edukacji na odległość, czyli e-learningu [Musiał, 2007].
Bardzo interesujące wydają się tworzone aktualnie systemy informatyczne, które oferują
różnorodne metody kontroli i oceniania studentów (uczniów). Są one określane jako
E-ocena, zaś w literaturze zachodniej noszą nazwę E-Assessment lub Computer-aided
Assessment. Komputerowe systemy testowania wiedzy, wykorzystujące nowoczesne
technologie internetowe, cechują się dużą elastycznością i efektywnością w obszarze
sprawdzania wiedzy studentów (uczniów).
Jednym z najpopularniejszych narzędzi, stosowanych do pomiaru osiągnięć
studentów, jest test dydaktyczny. Może być otwarty bądź zamknięty. Jednak test otwarty
jest rzadko stosowany w wersji komputerowej, ponieważ występują trudności
w jednoznacznym ocenianiu przez aplikację komputerową takich odpowiedzi.
W artykule przedstawiono koncepcję własnego komputerowego systemu testującego
wiedzę studenta (ucznia), w postaci testu zamkniętego, stworzonego z wykorzystaniem
określonych technologii internetowych.
Techniki tworzenia stron internetowych
W dzisiejszych czasach witryna internetowa powinna być dynamiczna. Obecnie
najtrudniejszą decyzją, jaka stoi przed twórcą stron internetowych, jest wybór odpowiedniej
technologii [Jedynak, 2008]. Jedną z opcji jest DHTML, który jest umowną nazwą dla
technik służących do dynamicznej zmiany treści, wyglądu, zachowania dokumentu HTML,
zapewniających interakcję strony WWW z użytkownikiem [Schultz, 2008]. W skład DHTML
wchodzą takie technologie, jak HTML, DOM, CSS i JavaScript. JavaScript pozwala „ożywić”
pozostałe technologie. Inną możliwością jest zastosowanie PHP [Ullman, 2007], który jest
skryptowym, obiektowym językiem programowania, zaprojektowanym do generowania
dynamicznych stron internetowych. PHP najczęściej stosuje się do przetwarzania skryptów
po stronie serwera WWW. W przeciwieństwie do PHP skrypty napisane w JavaScript
działają po stronie klienta, czyli są uruchamiane przez przeglądarkę internetową.
1
Bardzo często w projektowaniu witryn internetowych stosowane są kaskadowe
arkusze stylów (CSS) [Meyer, 2008]. Jest to zbiór reguł formatowania, które sterują
wyglądem zawartości na stronie WWW. Sformatowanie strony za pomocą stylów CSS
pozwala na rozdzielenie zawartości od prezentacji. CSS zapewnia elastyczność i kontrolę
nad precyzyjnym wyglądem strony. Za pomocą stylów można sterować wieloma
właściwościami tekstu, np. czcionkami i ich rozmiarami, pogrubieniem, kursywą,
podkreśleniem i cieniem tekstu, kolorem tekstu i kolorem tła, kolorem i podkreśleniem łączy,
a także wieloma innymi właściwościami. Sterując czcionkami za pomocą stylu CSS można
również zagwarantować bardziej spójną obsługę układu i wyglądu strony w wielu różnych
przeglądarkach.
Istotnym narzędziem, który zapewnia dynamikę stronom internetowym jest PHP. Jest
to język skryptowy, który jest wygodny w pisaniu i jednocześnie oferuje wiele możliwości.
Ten sam kod PHP można uruchomić w niezmienionej postaci na różnych serwerach
sieciowych i w różnych systemach operacyjnych. Funkcje, które w przypadku PHP są
standardem, w przypadku innych rozwiązań wymagają specjalnych rozszerzeń. PHP jest
darmowy – wystarczy odwiedzić stronę www.php.net i ściągnąć kompletny kod źródłowy.
Dostępne są również pliki binarne dla Windows. Zgodnie z warunkami licencji na
korzystanie z PHP, możemy używać go we własnych pracach bez żadnych opłat.
Projekt strony testującej wiedzę studenta
Stronę zaprojektowano z użyciem omówionych wcześniej technologii internetowych.
Składa się ona z trzech plików: index.html, test.php oraz style.css. Plik startowy (index.html)
został napisany w HTML z użyciem arkuszy stylów CSS. Część wykonawczą testu
(test.php) napisano w PHP. Plik style.css definiuje zbiór reguł formatowania użytych w pliku
startowym. Test zawiera 10 pytań. Na każde pytanie jest tylko jedna odpowiedź prawidłowa.
Przykładową zawartość pliku styli przedstawia rys. 1. Zdefiniowano tu dwa selektory
dotyczące znaczników <body> i <p>. Pierwszy określa rozmiar i kolor czcionki, kolor tła,
rodzaj wyświetlanej czcionki (w przypadku nieobecności pierwszej z nich, tekst będzie
wyświetlany w drugiej itd.) w dokumencie głównym. Drugi selektor określa wyjustowanie
tekstu dla znacznika paragraf <p>.
2
Rys. 1. Przykładowy plik styli (widok w notatniku Notepad++)
użyty do formatowania strony index.html
Plik styli został dołączony do dokumentu index.html za pomocą polecenia
(zapisanego w nagłówku tego pliku):
<link rel="stylesheet" href="style.css" type="text/css">
Do umieszczenia treści pytań na stronie internetowej zastosowano technikę
formularzy. Formularze są jednym z najważniejszych i najciekawszych elementów, jakie
mogą zostać wykorzystane do tworzenia stron WWW. Dzięki nim możemy w prosty sposób
stworzyć elektroniczny test, który jest wypełniany na stronie. W takim teście możliwe jest
wpisywanie tekstu, odpowiadanie na zadane pytania, czy też zaznaczanie jednego lub kilku
wariantów odpowiedzi.
Elementy formularza są tworzone w pewnych ogólnych ramach. Każdy formularz
rozpoczyna się od znacznika otwierającego <form>, a kończy się znacznikiem
zamykającym </form>. Pomiędzy nimi umieszczamy pozostałe elementy formularza.
Każde z pytań testowych zostało zdefiniowane w postaci formularza typu radio,
którego przykładowy kod przedstawia rys. 2, zaś jego realizację w przeglądarce
internetowej rys. 3. Taki formularz daje możliwość wyboru tylko jednej opcji odpowiedzi
spośród kilku. Parametr name podawany w każdym polu musi być taki sam. Stosujemy go
wtedy, gdy nie można podać kilku wartości, gdyż jest to nielogiczne. W celu ładnego
rozmieszczenia na ekranie treści pytań testowych, zostały one umieszczone jako kolejne
wiersze zdefiniowanej wcześniej tabeli.
Następujący fragment kodu, napisany w PHP, jest odpowiedzialny za policzenie
punktu za pytanie 1.
if (!empty($_GET['f3']))
{if ($_GET['f3'] == "1") $wyniki++;}
Do realizacji skryptu użyto funkcji warunkowej if, która w przypadku, gdy zmienna
f3 nie jest pusta i ma przypisaną wartość 1 (prawidłowa odpowiedź „a” na pytanie 1),
zwiększa zmienną wynik o 1. Zmienna wynik jest zerowana na początku skryptu
3
(za pomocą polecenia $wyniki=0). Instrukcja if wykonuje blok kodu, jeżeli wyrażenie
w nawiasach ma wartość TRUE. W innym wypadku blok kodu jest pominięty.
Rys. 2. Przykładowy kod pytania nr 1 (widok w notatniku Notepad++)
Rys. 3. Widok pytania nr 1 w przeglądarce internetowej
Po otworzeniu testu na stronie należy w odpowiednie pola wpisać imię i nazwisko,
a następnie zaznaczyć odpowiedzi, naciskając w miejsca oznaczone białymi kółkami
poprawną odpowiedź (rys. 4).
Wprowadzenie imienia i nazwiska osoby testowanej odbywa się za pomocą
formularza typu text (rys. 4). Formularz taki umożliwia wpisanie krótkiego tekstu. Ma on
następującą postać:
<TR> <TD>Imię: </TD>
<TD><input type=text name=f1></TD>
<TD>Nazwisko:</TD>
<TD><input type=text name=f2></TD></TR>
4
Rys. 4. Widok początku testu w przeglądarce internetowej wraz z polami wprowadzenia
imienia i nazwiska
Jeśli chcemy uzyskać wynik końcowy testu, naciskamy przycisk Sprawdź test,
wtedy test jest automatycznie sprawdzany. W przypadku, gdy chcemy rozpocząć od nowa,
naciskamy przycisk Zacznij od nowa, dzięki czemu usuwamy wszystkie zaznaczone
odpowiedzi. Opcja Sprawdź test realizowana jest za pomocą przycisku typu submit, zaś
Zacznij od nowa za pomocą przycisku typu reset (rys. 5). Kod formularza odpowiedzialny
za omówione akcje jest następujący:
<input type=submit value="Sprawdź test">
<input type=reset value="Zacznij od nowa" >
Rys. 5. Widok końcowej części testu w przeglądarce internetowej wraz z przyciskami:
Sprawdź test i Zacznij od nowa
5
Po naciśnięciu przycisku Sprawdź test na stronie wyświetla się imię i nazwisko
osoby wypełniającej test oraz liczba punktów jaką zdobyła (rys. 6). Wynik końcowy realizuje
polecenie echo „dostałeś $wyniki pkt”. Ponieważ zmienna wynik jest zwiększana o 1, gdy
odpowiedź jest prawidłowa, więc w ostateczności przechowuje liczbę punktów zdobytych
przez osobę wypełniającą test.
Rys. 6. Wynik testu otrzymany po naciśnięciu przycisku Sprawdź test
Wnioski
W artykule zaprezentowano możliwości tworzenia prostego testu sprawdzającego
wiedzę studentów (lub uczniów) z określonego zakresu. Przykładowe pytania dotyczyły
wybranych zagadnień z rachunku prawdopodobieństwa i statystyki. Wskazano na
możliwość użycia PHP do tworzenia testów, jako wygodnego narzędzia w połączeniu
z klasycznymi technologiami tworzenia witryn internetowych, jakimi są HTML oraz CSS.
Zaletą wskazanej metody jest oddzielenie warstwy prezentacyjnej (treści pytań) od
rozwiązań, które są umieszczone w odrębnym pliku PHP. Plik ten może się znajdować
w dowolnym katalogu lub nawet na innym serwerze i być w ten sposób niedostępny dla
niepowołanych osób.
W trakcie budowy zaawansowanych testów bardzo ważne jest stworzenie
możliwości uwierzytelnienia, czyli potwierdzenia tożsamości użytkowników. Taką
autoryzację testów można również utworzyć wykorzystując możliwości języka PHP. Ze
względu na złożoność zagadnienia, tematyka ta została pominięta w prezentowanym
artykule. Zakłada się, że omówiony test, w oparciu o opisane reguły, spełnia podstawowe
zasady zabezpieczenia danych przed dostępem osób niepowołanych.
Literatura
Jedynak R.: Technologie internetowe dla matematyków. Wydaw. Naukowe Politechniki
Radomskiej, Radom 2008 [w druku]
Meyer E.: CSS. Kaskadowe arkusze stylów. Przewodnik encyklopedyczny. Wydanie III,
Helion, Gliwice 2008
Musiał E.: Kształcenie na odległość – między teorią a praktyką. [W:] Komputer w edukacji.
Red. naukowa J. Morbitzer. Wydawca: Pracownia Technologii Nauczania, Akademia
Pedagogiczna, Kraków 2007
Schultz D., Cook C.: HTML, XHTML i CSS. Nowoczesne tworzenie stron WWW. Helion,
Gliwice 2008
Ullman L.: PHP5. Zaawansowane tworzenie stron WWW. Szybki start. Helion, Gliwice 2007
6