Wstęp... 2 Podstawy teoretyczne zastosowane technologie... 3 1. Środowisko pracy... 3 Apache HTTP Server... 3 Baza danych MySQL... 3 2. Zastosowane techniki... 3 HTML... 3 PHP... 4 SQL... 6 BAZA DANYCH... 7 Narzędzia wykorzystane przy pisaniu aplikacji KOLOS... 8 1. Program Total Commander 7... 8 2. Program Notepad++... 8 3. Narzędzie administracyjne phpmyadmin... 9 Przykłady zastosowanych technik:... 11 1. HTML... 11 2. PHP... 12 3. SQL... 14 4. Połączenie HTML / PHP / SQL... 15 Konfiguracja i instalacja aplikacji KOLOS... 17 Obsługa Aplikacji Kolos... 18 1. Strefa Student... 18 2. Strefa Admin... 21 Przykłady zastosowania... 23 1. Przykład pierwszy import studentów z pliku CSV... 23 2. Przykład drugi dodanie nowego testu... 28 Literatura... 30
Wstęp Zawód nauczyciela znany jest od lat. To specyficzne zajęcie wymaga od osoby która go wykonuję odpowiednich umiejętności. Nauczyciel zwany także wykładowcą musi posiadać odpowiednią wiedzę którą docelowo będzie przekazywał swoim uczniom, studentom czy słuchaczom. Osoba taka powinna także posiadać odpowiednie przygotowanie pedagogiczne. Po godzinach wykładów, ćwiczeń oraz dyskusji każda osoba zastanawia się czy wykonywana przez nią praca przyniosła jakiś efekt. W przypadku nauczyciela doskonałą formą sprawdzenia przekazanej wiedzy swoim ucznia jest przeprowadzenie testu wyboru. Test sam w sobie jest formą przyjazną pozwalającą w prosty i szybki sposób sprawdzić poziom wiedzy poszczególnych uczniów. Rola ucznia w teście ogranicza się jedynie do zaznaczenia odpowiedzi na poszczególne pytania. Jeżeli student posiada odpowiednią wiedzę nie sprawi mu to większego kłopotu. W znacznie gorszej sytuacji znajduje się wykładowca który test przeprowadza. To ta osoba jest odpowiedzialna za przygotowanie pytań, odpowiedzi, punktacji oraz samo ocenienie testu które przy większej liczbie uczniów jest bardzo czasochłonne. Aplikacja KOLOS przedstawiona w tej pracy ma na celu ułatwienie tego zadania nauczyciela. Program posiada możliwość przeprowadzenia testu na studencie lub na grupie studentów automatycznie zaimportowanych do systemu. Program automatycznie wystawia oceny i pozwala stworzyć raport z wynikami dla poszczególnej osoby lub całej grupy. Dodatkowym autem jest możliwość generowania własnych testów i ich modyfikacja. Szczegółowy opis aplikacji znajduje się w niniejszej pracy. 2
Podstawy teoretyczne zastosowane technologie. 1. Środowisko pracy. Aplikacja do prawidłowego działania wymaga serwera HTTP z zainstalowaną obsługą PHP oraz bazą danych MySQL. Apache HTTP Server. Jest to otwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows). Apache jest najszerzej stosowanym serwerem HTTP w Internecie. Podstawowe cechy to: wielowątkowość skalowalność bezpieczeństwo Kontrola dostępu/uwierzytelnianie: mod_authz_host Serwer Apache nie jest wolny od luk stwarzających potencjalne zagrożenie. 1 Baza danych MySQL. Jest to wolnodostępny system zarządzania relacyjna bazą danych. Została napisany z myślą o standardzie SQL. MySQL obsługuje większą część obecnego standardu ANSI/ISO SQL (tj. SQL:2003). Serwer MySQL dostępny jest dla wszystkich popularnych platform systemowych i różnorakich architektur procesorów. Jest dostępny także w wersji źródłowej, co umożliwia skompilowanie go dla dowolnej innej platformy. 2 MySQL jest Systemem Zarządzania Relacyjnymi Bazami Danych. Zadaniem takiego systemu jest zarządzanie informacjami znajdującymi się w tabelach w bazie danych w taki sposób, aby ich wyszukiwanie odbywało się w maksymalnie jak najkrótszym czasie. MySQL jest często stosowany ze względu na dużą wydajność i szybkość działania. Te cechy pozwalają go wykorzystać zarówno do małych jak i dużych projektów internetowych oraz informatycznych. Połączenie języka programowania PHP oraz bazy danych MySQL pozwala na przygotowanie bardzo zaawansowanych stron WWW oraz aplikacji webowych. 3 2. Zastosowane techniki. HTML HTML (ang. HyperText Markup Language) hipertekstowy język znaczników, obecnie szeroko wykorzystywany do tworzenia stron internetowych. HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu formując hiperłącza, akapity, nagłówki, listy oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych. HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów CSS. W składni HTML wykorzystuje się pary znaczników umieszczone w nawiasach ostrokątnych, np. <title> i </title> lub <h1> i </h1>. HTML pozwala również na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> 3
i </script> oraz programów PHP między znacznikami <?php i?> Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych. Ważną cechą HTML-u, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego i wykorzystywanego sprzętu komputerowego. 4 Prosty przykład strony WWW w HTML-u z ustawieniem języka polskiego: <html lang="pl" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>tytuł strony</title> </head> <body> <h1>nagłówek pierwszego poziomu</h1> <p> Akapit (z ang. paragraph)<br /> i jeszcze trochę tekstu w następnym wierszu<br /> a to jest <a href="http://pl.wikipedia.org">link do Wikipedii</a>. </p> </body> </html> Wygląd strony w przeglądarce WWW. Rysunek 1 - prosta strona WWW PHP PHP obiektowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. PHP jest najczęściej stosowany do tworzenia skryptów po stronie 4
serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia PHP-GTK). Implementacja PHP wraz z serwerem WWW Apache oraz serwerem baz danych MySQL określana jest jako platforma AMP (w środowisku Linux LAMP, w Windows WAMP). Ponadto PHP można uruchomić na serwerze IIS (Windows) oraz w chmurze Windows Azure. 5 Prosty skrypt PHP: <? $ocena=$_session["ocena"]; if (empty($ocena)) { echo "<table align=center><td><center><font style='font-size:18' color ='black'>witamy W APLIAKCJI KOLOS 1.0 <br><br> <imgsrc=../test/graf/kolos3.jpg></font></center></td></table>"; } else { echo "<table align=center><td><center><font style='font-size:25' color ='red'>$ocena</font></center></td></table>"; }?> Powyższy skrypt deklaruje zmienną $ocena zapisaną przez SESSION. Sprawdza czy zmienna nie jest pusta. Jeżeli jest wyświetla napis WITAMY W APLIAKCJI KOLOS 1.0. oraz ilustrację <imgsrc=../test/graf/kolos3.jpg> W przypadku gdy zmienna $ocena nie jest pusta wyświetla jej wartość echo $ocena;. Wygląd strony aplikacji KOLOS kiedy zmienna $ocena jest pusta. Rysunek 2 - aplikacje KOLOS strona index.html start Źródło: opracowanie własne 5
Wygląd strony aplikacji KOLOS kiedy zmienna $ocena ma jakąś wartość Rysunek 3 - ocena po wypełnieniu testu Źródło: opracowanie własne SQL SQL (ang. Structured Query Language/) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych (DBMS). 6 Przykładowe zapytanie SQL: select * from `student` where `index` = "1"; Zapytanie wyświetli wszystkie dane z wszystkich wierszy tabeli student w których rekordy index jest równy 1. Przykładowa tabela student z aplikacji KOLOS. Rysunek 4 - przykład tabeli student Źródło: opracowanie własne 6
Wynik powyższego zapytania SQL Rysunek 5 - wynik zapytania przykładowego Źródło: opracowanie własne BAZA DANYCH Baza danych zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych. Program taki (często pakiet programów) nazywany jest systemem zarządzania bazą danych (ang. database management system, DBMS). 7 Baza danych jest to zbiór tabel. Dostęp do danych z tych tabel można uzyskać za pomocą np. języka SQL. Między tabelami mogą występować różnego rodzaju relacje. 8 Baza danych aplikacji KOLOS Rysunek 6 - Baza danych Apliakcji KOLOS Źródło: opracowanie własne 7
Narzędzia wykorzystane przy pisaniu aplikacji KOLOS 1. Program Total Commander 7 Jest to bardzo rozbudowany menadżer plików. Podczas pracy nad program został wykorzystany do kopiowania plików z komputera lokalnego na serwer. Program występuje w polskiej wersji językowej. Pakiet instalacji w wersji Trial (testowa) można pobrać ze strony : http://www.instalki.pl/programy/download/windows/ftp/total_commander.htm Wygląd aplikacji Total Commander 7.0 Trial (testowa) Rysunek 7 - Total Commander Źródło: opracowanie własne 2. Program Notepad++ Notepad++ jest bardzo dobrym, darmowym edytorem kodów źródłowych. Projekt bazuje na potężnym komponencie edytora tekstu - Scintilla. Potrafi rozpoznawać znaczniki między innymi HTML / PHP / SQL itp. Jedna z wielu zalet to Licencja: Freeware (darmowa). Cały kod źródłowy aplikacji KOLOS powstał w tym programie. Aplikacja występuję w polskiej wersji językowej: Do pobrania z: http://www.programosy.pl/program,notepad.html 8
Wygląd aplikacji Notepad++ Freeware (darmowa) Rysunek 8 - Notepad++ 3. Narzędzie administracyjne phpmyadmin Źródło: opracowanie własne phpmyadmin narzędzie służące do łatwego zarządzania bazą danych MySQL, napisane w języku PHP. Oprogramowanie wydawane jest na licencji GNU General Public License i umożliwia między innymi tworzenie/usuwanie baz danych, dodawanie/kasowanie relacji oraz edycję ich struktury i zawartości. Wszystkie operacje mogą być wykonywane z poziomu przeglądarki internetowej, w graficznym środowisku, bez konieczności pracy z domyślnym interfejsem tekstowym. 9 Wygląd strony głównej programy phpmyadmin na serwerze home.pl. Rysunek 9 - phpmyadmin Źródło: opracowanie własne 9
Z poziomu phpmyadmin odbywa się administracja bazą danych programu KOLOS. Administrowanie jest także możliwe po zalogowaniu się do strefy Admin samej aplikacji. Wygląd programu phpmyadmin na serwerze home.pl Rysunek 10 - phpmyadmin Źródło: opracowanie własne 10
Przykłady zastosowanych technik: 1. HTML Poniższy kod HTML odpowiedzialny za wyświetlanie graf/top.gif oraz menu całej aplikacji. Określa także zachowanie przycisków menu po najechaniu na nie myszką onmouseover="style.color = 'red'" onmouseout="style.color = 'blue'. Pod poszczególnymi przyciskami mam linki do podstroi np.: href="../test/logowanie/out.php" Funkcja <? echo $_SESSION['uzytkownik'];?> która jest elementem PHP sprawdza który użytkownik jest zalogowany. <center> <table border="0"> <tr> <td> <img src="graf/top.gif"> </td> </tr> <tr><td> <div align="right" link="blue"> <font size="2" align="right"> Jesteś zalogowany jako <b><? echo $_SESSION['uzytkownik'];?></b> <a href="../test/logowanie/out.php" onmouseover="style.color = 'red'" onmouseout="style.color = 'blue'">wyloguj</a></font> </div> </td></tr> <tr><td height="20"> <a onclick="location.href='index.php';"><input type="button" value="strona Główna" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"> <a onclick="location.href='student.php';"><input type="button" value="strefa Student" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"> <a onclick="location.href='login.php';"><input type="button" value="strefa Admin" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"> <a onclick="location.href='pytanie.php';"><input type="button" value="kontakt z Adminem" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"> <a onclick="location.href='dokumentacja.php';"><input type="button" value="dokumentacja" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"> </td> </tr> </table> </center> 11
Efekt działania powyższego kodu stopka.php z aplikacji KOLOS: Rysunek 11 - menu aplikacji KOLOS Źródło: opracowanie własne 2. PHP Skrypt login.php jest odpowiedzialny za uwierzytelnia użytkowników ADMIN. Sprawdza on dwie zmienne pobrane z formularza html: $uzytkownik=$_post['uzytkownik']; $haslo=($_post['haslo']); Po stwierdzeniu prawidłowości danych które odbywa się za pomocą skryptu SQL. Odpowiednio rejestruje uzytkwoniak i przenosi go do admin.php: // Zapamiętuje zmienną sesji session_register("uzytkownik"); // Przekierowanie do strony header("location:admin.php"); lub jeżeli dane SA nie poprawne wyświetla komunikat: // komunikat przy błędnym logowaniu $message="<font color=red><b>nieprawidłowa nazwa użytkownika lub hasło<b></font>"; // Sprawdzenie nazwy użtkownika i hasła. Całości kodu login.php: // Sekcja logowania $login=$_post['login']; // przejmuje zmienną z formularza if($login) { // W momencie kliknięcia w przycisk formularza $uzytkownik=$_post['uzytkownik']; $haslo=($_post['haslo']); // ustawienie zmiennych 12
// Połączenie z bazą. mysql_connect($host,$db_user,$db_password); mysql_select_db($database); // Sprawdzenie nazwy użtkownika i hasła. $rezultat=mysql_query("select * FROM logowanie WHERE uzytkownik='$uzytkownik' AND haslo='$haslo'"); if(@mysql_num_rows($rezultat)){ // Zapamiętuje zmienną sesji session_register("uzytkownik"); // Przekierowanie do strony header("location:admin.php"); exit; } // jeżeli błędne hasło lub login else { // komunikat przy błędnym logowaniu $message="<font color=red><b>nieprawidłowa nazwa użytkownika lub hasło<b></font>"; // Sprawdzenie nazwy użtkownika i hasła. } } // Koniec sprawdzania autoryzacji.?> Skrypt wykonuj się po podaniu danych na stronie login.php aplikacji KOLOS: Rysunek 12 - przykład PHP logowanie admina 13
3. SQL Za pomocą zapytania SQL przedstawionego poniżej stwierdzamy na ile pytań student odpowiedział prawidłowo. Znajduje się on w pliku test.php aplikacji KOLOS: $res = mysql_query (" SELECT * FROM `gadmar1`.`testy`, `gadmar1`.`wyniki` WHERE `TESTY`.`NR_TESTU` = '$nr_test' and `WYNIKI`.`NR_TESTU` = '$nr_test' AND `TESTY`.`NR_PYTANIA` = `WYNIKI`.`NR_PYTANIA` AND `TESTY`.`ODP` = `WYNIKI`.`ODP` and `WYNIKI`.`INDEX` = '$nr_index' LIMIT 0, 30"); Skrypt przedstawiony powyżej został wykorzystany w aplikacji KOLOS do sprawdzania ilości poprawnych odpowiedzi w danym teście $nr_test' wypełnionym przez danego studenta $nr_index'. Skrypt zwraca wszystko z tabel `gadmar1`.`testy`, `gadmar1`.`wyniki` co spełnia następujące warunki: `TESTY`.`NR_TESTU` = '$nr_test' numer test w tabeli TESTY jest równy zmiennej '$nr_test' podawanej przez studenta przy wypełnianiu testu. AND `WYNIKI`.`NR_TESTU` = '$nr_test' numer testu NR_TESTU w tabeli WYNIKI jest równy zmiennej '$nr_test' podawanej przez studenta przed wypełnieniem testu. AND `TESTY`.`NR_PYTANIA` = `WYNIKI`.`NR_PYTANIA` - numer NR_PYTANIA z tabeli TESTY jest równy NR_PYTANIA z tabeli WYNIKI AND `TESTY`.`ODP` = `WYNIKI`.`ODP` - odpowiedź ODP w tabeli TESTY jest równa odpowiedź ODP w tabeli WYNIKI AND `WYNIKI`.`INDEX` = '$nr_index' index INDEX w tabeli wyniki WYNIKI jest równy zmiennej podanej przez studenta '$nr_index'. Następnie stosujemy zapis : $odpd = mysql_num_rows($res); - który do zmiennej $odpd zapisuje liczbę poprawnych odpowiedzi. I na końcu obliczamy procent poprawnych odpowiedzi: $proc = $odpd*100/$ile; - czyli liczba poprawnych $odpd * 100% / liczbę pytań w teście $ile; 14
Zastosowana skala ocen to : ($proc>91) 5,0 ($proc>81) 4,5 ($proc>71) 4,0 ($proc>61) 3,5 ($proc>51) 3,0 ($proc<50) 2,0 4. Połączenie HTML / PHP / SQL. Przykład pliku student.php z aplikacji KOLOS. Kod pliku: <form method="post"> <font>wybierz test który chcesz wypełnić:</font><input id="1" type="text" name="nr_test" size="10" maxlength="10"><br> <font>podaj numer indexu:font><input id="%" type="text" name="nr_index" size="10" maxlength="10"><br> <font>podaj hasło:</font><input id="%" type="password" name="pass" size="10" maxlength="10"><br><br> <input type="submit" name= "szukajj" value="szukaj" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'">  <input type="reset" value="wyczyść wszystkie pola" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'">  <a onclick="location.href='index.php';"><input type="button" value="menu" style="font-size:10" onmouseover="style.color = 'green'" onmouseout="style.color = 'black'"><br> </form> <?php $connection = @mysql_connect('home.pl', 'gadmar1', 'Koniu666'); $db = @mysql_select_db('gadmar1', $connection); $nr_test=$_post['nr_test']; $nr_index=$_post['nr_index']; $pass=$_post['pass']; $_SESSION["nr_test"]="$nr_test"; $_SESSION["nr_index"]="$nr_index"; echo "<br>"; $subtim=($_post["szukajj"]); if ($subtim=="") {} else { if(empty($nr_test) or empty($nr_index) or empty($pass)) { echo "<table><td><center><font style='font-size:12' color ='red'>uzupełni wszystkie pola</font><br></center></td></table>"; } else { if(mysql_num_rows(mysql_query("select * FROM TESTY_NAZWA where `NR_TESTU`='$nr_test'"))>0) { $c=1; $zapytanie = "SELECT * FROM TESTY_NAZWA where `NR_TESTU`='$nr_test'"; $idzapytania = mysql_query($zapytanie); echo "<font size=2><table border=1><tr><td>nr</td><td>nazwa Testu</td><td>Opiekun</td></tr>"; while ($wiersz = mysql_fetch_row($idzapytania)) { 15
echo "<tr><td>$wiersz[0]</td><td> $wiersz[1]</td><td> $wiersz[2]</td></tr>"; echo "</table></font>"; } } else { if (empty($nr_test)) { echo '<br><br>'; $c=0; } else { echo "<table><td><center><font style='font-size:12' color ='red'>nie ma testu o tym numerze!</font><br></center></td></table>"; $c=0; }}}} Jak widać na powyższym przykładzie w jednym pliku student.php mamy połączenie <html>, <php> oraz SQL. Główna częścią HTML jest formularz zawarty w znacznikach <form> </form>. Ma on za zadanie uzyskanie od studenta zmiennych 'nr_test' i 'nr_index' które później przechwytuje program PHP i z ich wykorzystaniem wykonuje szereg operacji oraz 'pass'. Warunki przejścia do wypełniania testu jest podanie prawidłowych danych. Wygląd strony student.php aplikacji KOLOS: Rysunek 13 - strefa student Aplikacji Kolos Źródło : opracowanie własne 16
Konfiguracja i instalacja aplikacji KOLOS KROK - 1 Warunkiem prawidłowej instalacji programu jest wgranie go do na serwera HTTP z zainstalowaną bazą MySQL oraz PHP. Wgrywamy go do katalogu TEST. Należy zachować poniższą struktur plików i katalogów: Katalog TEST musi zawierać poniższe katalogi i pliki Rysunek 14 - struktura katalogów aplikacji KOLOS KROK 2 Źródło : opracowanie własne Wpisanie odpowiednich zmiennych w pliku /admin/conf.php który jest odpowiedzialny za logowanie do bazy oraz katalog importu: <? $host="?????"; // Nazwa hosta. $db_user="?????"; // Nazwa użytkownika - MySQL. $db_password="?????"; // Hasło do bazy. $database="gadmar1"; // Nazwa bazy. $kat="/pracad/test/admin/imp/"; // katalog importu?> 17
Obsługa Aplikacji Kolos 1. Strefa Student Strefa student jest przeznaczona dla osoby chcącej wypełnić test: Rysunek 15 - strefa student Aplikacji KOLOS Po prawidłowym wpisaniu danych takich jak: numer testu, numer indexu oraz hasła otrzymanego od wykładowcy student zobaczy wprowadzone dane: Rysunek 16 - powitanie studenta 18
Następnie student sprawdza dane i klika OK. jeżeli się wszystko zgadza lub anuluj jeżeli dane nie są poprawne. Po kliknięciu OK student zaczyna wypełniać test : Rysunek 17 - wypełnianie testu Po wypełnieniu wszystkich pytań wybiera zakończ. Rysunek 18 - zakończenie testu 19
Po czym otrzymuje ocenę która automatycznie zostaje zapisana do bazy dla wykładowcy. Rysunek 19 - ocena z testu Ponowna próba wypełnienie testu kończy się komunikatem. Rysunek 20 - Robiłeś już ten test Ponowne wypełnienie TESTU jest możliwe dopiero po odblokowaniu przez ADMINA. 20
2. Strefa Admin Do strefy Administrator możne się dostać po podaniu prawidłowego loginu i hasła: Rysunek 21 - logowanie do strefy ADMIN Po zalogowaniu mamy dostęp do wszystkich opcji programu nie osiągalnych dla studenta i osób nie zalogowanych. Rysunek 22 - MENU administracyjne 21
Opis poszczególnych opcji z menu ADMIN: Dodaj studenta: opcja umożliwia dodanie studenta do bazy. Podpowiada przykładowe dane Do wypełnienia i nie pozwala na pominięcie jakiegokolwiek pola. Usuń studenta: opcja usuwa studenta wraz z wynikami jego testów. Odblokuj test dla studenta: pozwala rozwiązać drugi raz ten sam test dla studenta. Wyniki pierwszego podejścia są kasowane. Odblokuj test dla grupy: pozwala analogicznie jak wyżej odblokować test dla całej grupy studentów. Import studentów z pliku CSV: pozwala jednorazowo wprowadzić do bazy kilku studentów z pliku student.csv. Nazwa i struktura pliku musi być zachowana. Parametry pliku student.csv są podane w aplikacji w opcji import studentów z CSV. Dodaj test: pozwala na zdefiniowanie nazwy nowego testu oraz wprowadzenie jego opiekuna. Dodaj Pytanie do testu: pozwala dodawać pytania do wybranego testu. Usuń test: pozwala usunąć cały test wraz z pytaniami. Usuń pytanie: pozwala usunąć pojedyncze pytanie z podanego testu. Wykaz wszystkich studentów: pozwala zrobić raport studentów wprowadzonych do bazy. Raport można stosując kryteria np: grupa lub index, rok studiów. Wykaz wszystkich testów: raport z opcja wybory listujący wszystkie testy z pytaniami. Zastosowano możliwość wyboru poszczególnego testu lub wszystkich. Dodaj / Usuń ADMINA: opcja pozwala dodać lub usunąć administratora. Wyniki z testów: pokazuje uzyskane oceny przez dowolnego studenta lub grupę studentów. Wyloguj: powracamy do strony głównej aplikacji. 22
Przykłady zastosowania. 1. Przykład pierwszy import studentów z pliku CSV. KROK 1. Tworzymy plik student.csv o strukturze jak na rysunku np. w MS Excel. Odpowiednio kolumn to A Nazwa, B Kierunek, C Grupa, D Semestr, E Rok Studiów, F Rodzaj, G numer indexu stdenta, H hasło studenta. Rysunek 23 - przykład pliku student.csv KROK 2. Logujemy się do aplikacji KOLOS jako admin. Rysunek 24 - logowanie do aplikacji jako ADMIN KROK 3. W strefa ADMIN wybieram opcję Import studentów z pliku CSV. 23
Rysunek 25 - menu ADMIN wybór opcji Rysunek 26 - menu importu studentów źródło: własne 24
KROK 4. W zakładce Import studentów z pliku CSV wybieramy opcję przeglądaj i wskazujemy plik student.csv do importu. Rysunek 27 - wybór pliku do importu Rysunek 28 - ładowanie pliku na ftp 25
KROK 5. W Import studentów z pliku CSV wybieramy opcję Załaduj plik. Po wykonaniu której otrzymamy komunikat o prawidłowym załadowaniu pliku na Server. Rysunek 29 - poprawne załadowanie pliku KROK 6. W Import studentów z pliku CSV wybieramy opcję Importuj dane do bazy. Rysunek 30 - poprawny import do bazy 26
Po wykonaniu importu otrzymamy komunikat dane poprawnie załadowano. KROK 7. Aby sprawdzić czy studenci zostali załadowani do bazy wystarczy z menu administratora wykonać opcja Wykaz wszystkich studentów i wyszukać ich np.: po grupie bazy. Rysunek 31 - sprawdzenie poprawności importu 27
2. Przykład drugi dodanie nowego testu. KROK 1. Logujemy się jako administrator do STREFY ADMIN. KROK 2. Wybieramy opcje dodaj test. Rysunek 32 - dodaj test Wypełniamy wszystkie pola i klikamy Dodaj test. KROK 3. Przechodzimy do opcji Dodaj pytanie do testu i uzupełniamy pytania. Rysunek 33 - dodawanie pytań do testu. 28
Po wypełnieniu wszystkich pól klikamy dodaj pytanie. Możemy dodać dowolną liczbę pytań. Trzeba jednak pamiętać, że skala ocen jest sześciu pozycyjna więc najlepiej dodać minimum 6 pytań. KROK 4. Możemy sprawdzić czy test się dodał. Wykonujemy to opcją Wykaz wszystkich testów która zwraca nam w tabeli pełny wygląd podanego testu. Rysunek 34 - wykaz wszystkich testów 29
Literatura 1. Luke Welling, Laura Thomson: PHP i MySQL. Tworzenie stron WWW. Vademecum 2. Steven Holzer: PHP 5 Radocha z Programowania 3. Sebastian Bergmann: PHP5 Profesjonalne tworzenie oprogramowania 4. Piotr Listosz: Jak to zrobić w PHP 5. Steven M. Schafer, Bryan Pfaffenberger; HTML, XHTML i CSS BIBLIA 1. profesjonalisty. Wydanie IV. 2009/10 2. Ullman J.D.: Podstawowy wykład z systemów baz danych, WNT Warszawa 2001 3. http://pl.wikipedia.org 4. http://www.php.net 5. www.mysql.com 6. http://www.php.rk.edu.pl/w/p/xampp/ 7. http://forum.php.pl/ 30
Spis ilustracji: Rysunek 1 - prosta strona WWW... 4 Rysunek 2 - aplikacje KOLOS strona index.html start... 5 Rysunek 3 - ocena po wypełnieniu testu... 6 Rysunek 4 - przykład tabeli student... 6 Rysunek 5 - wynik zapytania przykładowego... 7 Rysunek 6 - Baza danych Apliakcji KOLOS... 7 Rysunek 7 - Total Commander... 8 Rysunek 8 - Notepad++... 9 Rysunek 9 - phpmyadmin... 9 Rysunek 10 - phpmyadmin... 10 Rysunek 11 - menu aplikacji KOLOS... 12 Rysunek 12 - przykład PHP logowanie admina... 13 Rysunek 13 - strefa student Aplikacji Kolos... 16 Rysunek 14 - struktura katalogów aplikacji KOLOS... 17 Rysunek 15 - strefa student Aplikacji KOLOS... 18 Rysunek 16 - powitanie studenta... 18 Rysunek 17 - wypełnianie testu... 19 Rysunek 18 - zakończenie testu... 19 Rysunek 19 - ocena z testu... 20 Rysunek 20 - Robiłeś już ten test... 20 Rysunek 21 - logowanie do strefy ADMIN... 21 Rysunek 22 - MENU administracyjne... 21 Rysunek 23 - przykład pliku student.csv... 23 Rysunek 24 - logowanie do aplikacji jako ADMIN... 23 Rysunek 25 - menu ADMIN wybór opcji... 24 Rysunek 26 - menu importu studentów... 24 Rysunek 27 - wybór pliku do importu... 25 Rysunek 28 - ładowanie pliku na ftp... 25 Rysunek 29 - poprawne załadowanie pliku... 26 Rysunek 30 - poprawny import do bazy... 26 Rysunek 31 - sprawdzenie poprawności importu... 27 Rysunek 32 - dodaj test... 28 Rysunek 33 - dodawanie pytań do testu.... 28 Rysunek 34 - wykaz wszystkich testów... 29 Spis odsyłaczy: 1 http://pl.wikipedia.org/wiki/apache_http_server 2 http://pl.wikipedia.org/wiki/mysql 3 www.mysql.com 4 http://pl.wikipedia.org/wiki/html 5 http://pl.wikipedia.org/wiki/php 6 http://pl.wikipedia.org/wiki/sql 7 http://pl.wikipedia.org/wiki/baza_danych 8 PHP 5 Radochna z programowania Steven Holzer 9 http://pl.wikipedia.org/wiki/phpmyadmin 31