Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt sprawdzający poprawność odpowiedzi
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
FanciorS
Witam.
Pisze ponieważ potrzebuje pewnego skryptu i to w miarę szybko sad.gif
Mam stronę zakodowaną w HTML&CSS jest to tzw. "Quiz".
Będą w nim 4 tematyki, ale co ja się będę rozpisywał smile.gif
Potrzebuje właśnie do tego Quizu Skryptu który będzie sprawdzał poprawność odpowiedz i zliczał punkty...
Przykład.

1. Stolica Polski jest:
a) Kraków
cool.gif Wrocław
c) Warszawa
d) Poznań

W tym skrypcie było by gdzieś zapisane jaka jest poprawna odpowiedz i wtedy on sprawdzał by ile na ile jest dobrze.
Wiem że jest takie coś więc bardzo proszę o szybką pomoc.

Coś w podobie do tej strony:
http://free.of.pl/z/zst/pomoce/test_on_line/Test-inf-1/inf.html

Z góry dziękuje za pomoc.
Pozdarwiam

P.S. I prosiłbym pisać w miarę prostym językiem ponieważ w .php jestem zerem bo zajmuje się Grafiką ;P
mortus
Banał, ale powinieneś umieścić temat w dziale zlecę, bo za darmo nikt Ci tego nie zrobi. Ogólnie dla zdefiniowanych pytań możesz sobie zrobić plik z odpowiedziami np.: odpowiedzi.php
  1. $odpowiedz['pytanie1'] = 'Warszawa';
Plikiem odpowiedzialnym za sprawdzenie odpowiedzi lub ew. wyświetleniem formularza może być np. index.php
  1. <?php
  2. if(isset($_GET['action']) && $_GET['action'] == 'check') {
  3. // wczytujemy plik z odpowiedziami
  4. include 'odpowiedzi.php';
  5. // inicjujemy punkty
  6. $punkty = 0;
  7. // i sprawdzamy, czy podane odpowiedzi są prawidłowe
  8. if($_POST['pytanie1'] == $odpowiedzi['pytanie1]) {
  9. $punkty++;
  10. }
  11. } else {
  12. // wyświetlamy formularz
  13. ?>
  14. <form action="index.php?action=check" method="post">
  15. <label>Które miasto jest stolicą Polski?</label><br />
  16. <input type="checkbox" name="pytanie1" value="Warszawa" />Warszawa<br/>
  17. <input type="checkbox" name="pytanie1" value="Kraków" />Kraków<br/>
  18. <input type="checkbox" name="pytanie1" value="Gniezno" /> Warszawa<br/>
  19. <input type="submit" name="submit" value="Sprawdź" />
  20. </form>
  21. <?php
  22. }
  23. ?>
Oczywiście plik z odpowiedziami trzeba odpowiednio zabezpieczyć, np. poprzez dodanie zasady (rule) w pliku .htaccess, która przy próbie wywołania pliku odpowiedzi.php przekierowuje nas na index.php. Przy większej ilości pytań można wypróbować pętle.
FanciorS
Nie muszę tego zabezpieczać ponieważ to nie będzie wprowadzane na internet, potrzebuje to w plikach...
U mnie chyba ten kod się nie przyda ponieważ ja już mam index.html strona jest tutaj zakodowana.
U mnie index.html wygląda tak:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Quiz 4 tematyczny - Home</title>
  5. <link href="style.css" rel="stylesheet" type="text/css" />
  6. </head>
  7.  
  8. <table width="996px" height="auto" border="0" cellpadding="0" cellspacing="0" align="center">
  9. <tr>
  10. <td class="header" colspan="2">
  11.  
  12. </td>
  13. </tr>
  14. <tr>
  15. <td class="left" rowspan="2">
  16. <div id="item">
  17. MENU
  18. </div>
  19. <a class="kom" href="index.html"> Strona główna</a>
  20.  
  21. <a class="kom" href="page_quizy.html"> Quizy</a>
  22.  
  23. <a class="kom" href="page_info.html"> Informacje</a>
  24.  
  25. <a class="kom" href="page_help.html"> Pomoc</a>
  26.  
  27. <a class="kom" href="page_o nas.html"> O nas</a>
  28.  
  29. <a class="kom" href="page_kontakt.html"> Kontakt</a>
  30.  
  31. <a class="kom" href="#"> Strona szkoły</a>
  32.  
  33.  
  34.  
  35. </td>
  36. <td height="60px">
  37. <div id="con_top">
  38.  
  39. </div>
  40.  
  41. </td>
  42. </tr>
  43.  
  44.  
  45. <tr>
  46. <td class="right">
  47. <div id="content">
  48.  
  49.  
  50. tekst
  51.  
  52. </div>
  53. </td>
  54. </tr>
  55.  
  56. <tr>
  57. <td class="footer" colspan="2">
  58.  
  59. </td>
  60.  
  61. </tr>
  62. </body>
  63. </html>


Chyba to tego potrzebuje skryptu .JS?
mortus
Rozumiem, że masz u siebie na kompie postawiony jakiś serwer www z obsługą php (np. xampp, wamp, krasnal serv), bo zwykła strona html działa nawet bez tego. Oczywiście nie ma wtedy żadnej możliwości wykorzystania plików php i rozwiązaniem pozostaje tylko JS. Ale jak pisałem, za darmo nikt Ci tego nie zrobi. W sumie to w JS będzie podobnie jak w PHP. Z tym, że składnia całkowicie się różni. Ale zasada działania pozostaje taka sama. Istnieją gotowe rozwiązania i w dodatku darmowe:
Customizable Quiz Program
Quiz Program
FanciorS
Już mam fajny skrypt w .JS
Poradziłem sobie ale mam pewien problem.
Mógłbym kogoś prosić aby powiedział mi jak w pliku .JS włączyć polskie znaki?
No chyba że się nie da sad.gif(

Na innych podstronach wszystko jest ok (tam nie ma żądnych skryptów z .JS)
Do pliku index.html wrzuciłem tylko:

Kod
<script src="quizqa1.js" type="text/javascript"></script>
<div id="quiz1"></div><br >
<div id="quiz2"></div><br >
<div id="quiz3"></div><br >
<div id="quiz4"></div><br >
<div id="quiz5"></div><br >
<div id="quiz6"></div><br >
<div id="quiz7"></div><br >
<div id="quiz8"></div><br >
<div id="quiz9"></div><br >
<div id="quiz10"></div><br >
<div id="quiz11"></div><br >
<div id="quiz12"></div><br >
<div id="quiz13"></div><br >
<div id="quiz14"></div><br >
<div id="quiz15"></div>
<script src="quizmc.js" type="text/javascript"></script>


Plik .JS Quizu wygląda tak -> KLIK
A plik .JS z Pytaniami i odpowiedziami wygląda tak -> KLIK

Zrobiłem Screna jakie krzaki wychodzą:


Wykorzystałem ten skrypt:
http://javascript.about.com/library/blnquiza.htm

Bardzo proszę o pomoc co z tym zrobić sad.gif
mortus
Problem może tkwić w kodowaniu treści (znaków) w pliku .js z pytaniami i odpowiedziami. W jakim edytorze tworzyłeś ten plik?
FanciorS
mortus, dałem linka wyżej do tego generatora, ja nie tworzyłem skryptu.
Skopiowałem wygenerowany skrypt, wkleiłem do notatnika i zapisałem w pliku .js
Jest na to jakiś sposób sad.gif(

---------------------

O ile się nie mylę to są takie znaczki i jak je się wpisze to wyskakuje polska litera np. ł,ż,ą
Tylko nie mam tych symboli... Ale ogólnie wolałbym normalnie pisać i żeby nie było krzaczków.
darophp
Zmień z

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


na:

  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
peku33
A czy przypadkiem quiz.js nie może być odczytany przez przeglądarkę z poprawnymi odpowiedziami :?
Tu masz sporo w php smile.gif http://www.hotscripts.com/listing/php-quiz-script/
FanciorS
darophp, wielkie dzięki za pomoc, jest lepiej al literki takie jak ą,ę,ś nadal krzczki.
Pamiętam że są takie symbole które pokazują ś,ę,ą,ż,itp...
darophp
To dodaj jescze:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

i
  1. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
FanciorS
Jeśli ci chodziło żebym to nadpisał za stary kod.
To teraz moja sekcja <head></head> wygląda tak:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  5. <title>Quiz 4 tematyczny - Quiz testowy</title>
  6. <link href="style.css" rel="stylesheet" type="text/css" />
  7. <link rel="stylesheet" href="style_quiz.css" type="text/css">
  8. </head>


Dalej są krzaczki ;(

Screen Quizy z perspektywy przeglądarki.
darophp
Dlaczego nie zmieniłeś na Strict, to jest teraz standard kodowania a nie transistional
FanciorS
No ok, poprawiłem ale nadal nie ma ą,ś

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  5. <title>Quiz 4 tematyczny - Quiz testowy</title>
  6. <link href="style.css" rel="stylesheet" type="text/css" />
  7. <link rel="stylesheet" href="style_quiz.css" type="text/css">
  8. </head>


@@EDIT:
Już sobie z tym poradziłem ale mam pewne pytanie.
Dlaczego JS nie akceptuje znaków specjalnych typu potęga,stopień,itp.?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.