Paweł Stachyra

Paweł Stachyra Lektor francuskiego,
pracownik z jęz.
franc.

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Witam,

Chcę zrobić taki test:
Jest tekst piosenki i są "dziury" (czyli na stronie takie puste okienka), które czytelnik musi wypełnić ze słuchu.
Na końcu klika w przycisk "Sprawdź" i wyświetlają mu się poprawne odpowiedzi w tych małych - albo ma poprawne odpowiedzi albo nie.

Czy ktoś wie jak to zrobić?

Mam stronę w Wordpressie.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Popatrz na software do karaoke ;)
Paweł Stachyra

Paweł Stachyra Lektor francuskiego,
pracownik z jęz.
franc.

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Hmm, nie rozumiem.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Pytales jak to zrobic? Chcesz instrukcje jak wszystko zaprogramowac, czy wskazowki?:)
Paweł Stachyra

Paweł Stachyra Lektor francuskiego,
pracownik z jęz.
franc.

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Poproszę o instrukcje jak wszystko zaprogramować.:)

Pozdrawiam
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Sprawdz czy to pomoze. Co prawda troche prostsze, niz to co chciales, ale w pelni za darmo, tyle mozesz oczekiwac:

<?php echo "good luck"; ?>
Piotr Jasiulewicz edytował(a) ten post dnia 04.10.12 o godzinie 15:59
Jacek R.

Jacek R. programista

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Spisanie instrukcji dla kogoś, kto się na tym nie zna, zajmie programiście więcej czasu, niż zaprogramowanie takiej funkcjonalności. Nikt za darmo Ci tego nie zrobi. Mogę dać Ci takie podstawy:

1. Pobierz tekst bazy
2. W miejsce słów, które chcesz mieć od usera, wstaw inputy o odpowiednich ID
3. Po kliknięciu wartości z inputów przesyłaj do serwera i tam sprawdzaj, czy zgadzają się ze słowami, które miały być w miejscu inputów

Więcej info na priv, z uwzględnieniem, że najpierw ustalimy koszt konsultacji.

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Bardzo mądrze napisał wieki temu JBW w Tajemnicach Atari z 92 roku:

"Każdy się zgodzi, że, aby zostać pilotem, trzeba skończyć stosowną szkołę. Aby zostać kierowcą, też trzeba odbyć kurs. By zostać fryzjerem, szewcem, piekarzem, też się trzeba długo uczyć. Nie wiem czemu tak wiele osób uważa, że aby zostać programistą, wystarczy kupić komputer."

Pawle! Jeśli umiesz programować, to powyższe rady powinny Ci wystarczyć. Jeśli nie umiesz, to zapomnij o całej sprawie i zleć to komuś, kto umie.

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Hej Jacku, co tam u Ciebie?

Co do Twojej prośby Pawle, nie wiem czy koledzy dobrze zinterpretowali twoją prośbę. Jeżeli chcesz pomocy, nie ma problemu. Jednak jeżeli ma to ktoś za Ciebie zrobić, to rzeczywiście można to odebrać za brak szacunku.

Wracając do problemu, jeżeli mają to być losowe słowa.
1. Wykorzystaj funkcję explode($tekst_piosenki, " ");. Otrzymasz tablicę zawierającą wszystkie słowa utworu.
2. funkcją count($tablica) zwróci Ci ile tych słów masz.
3. za pomocą rand() wybierz wyraz zamieniany.
Dalej Jacek Ci już opisał co robić.

Aha, jeżeli nie chcesz ukrywać krótkich słów, funkcja strlen($tablica[$wybrane_slowo]); zwróci Ci długość słowa, jeżeli będzie ona <= 3 to używając prostej rekurencji wyszukujesz kolejne słowo. To samo robisz w przypadku gdy dwa razy wylosujesz ten sam wyraz.

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

ee... do kitu, Rafał ;)

najpierw trzeba porządnie przygotować bazę tekstów z oznaczeniem odpowiednimi markerami w tekście, które słowa będą do uzupełnienia.

następnie wyświetlać tekst i preg_matchem pojechać po nim znajdując słowa do wypełnienia i tam dać inputy.

po kliknięciu na sprawdź, powinno porównać wpisane odpowiedzi z zawartością słów/wyrażeń oznaczonych w markerach i na tej podstawie obliczać ilość poprawnych odpowiedzi i które są/nie są poprawne.

tak na niego naskoczyliście, a jemu chyba chodzi tylko o logikę wykonania tego, a nie zakodowanie za free.

taki przykładowy tekst w bazie mógłby wyglądać następująco:


tak blisko, tak {{1|blisko}} jak ja, nie był {{2|ciebie}} nikt tak blisko


wyświetlanie tekstu na stronie np.


echo preg_replace_all("/\{\{([0-9]+)\|(.*?)\}\}/", '<input type="text" name="answer[$1]" />', $text);


na końcu pozostanie tylko sprawdzenie odpowiedzi w oparciu o tablicę $answer[];

naprawdę postarajcie się czasami komuś pomóc, zupełnie za darmo, a dobra energia do was powróci ;)

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Co jest do kitu? Nie do końca rozumiem co masz na myśli.

Przedstawiłem tylko najbardziej łopatologiczny sposób na wybranie losowych słów z piosenek. Paweł nie napisał czego dokładnie nie potrafi zrobić (z tego co widzę nie ma też doświadczenia w programowaniu). Natomiast to co Ty opisujesz to rozwinięcie wypowiedzi Jacka, czyli metoda na znalezienie oznaczonych słów i ich podmianę.

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Rafał Kociatkiewicz:
Co jest do kitu? Nie do końca rozumiem co masz na myśli.

>1. Wykorzystaj funkcję explode($tekst_piosenki, " ");. Otrzymasz tablicę zawierającą wszystkie >słowa utworu.

explode? a jak będzie kilka spacji między słowami? algorytm wylosuje puste słowa

>2. funkcją count($tablica) zwróci Ci ile tych słów masz.

ale po co to komu?

>3. za pomocą rand() wybierz wyraz zamieniany.

rand jest do chrzanu. mt_rand(). i dlaczego to by miało być losowo wybierane? kompletnie bez sensu.Jakub Świegot edytował(a) ten post dnia 05.10.12 o godzinie 11:00

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Rafał Kociatkiewicz:
1. Wykorzystaj funkcję explode($tekst_piosenki, " ");. Otrzymasz

Hmmm... Jaką masz wersję PHP? Bo u mnie jest explode(" ",$tekst_piosenki) :)))))

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

Pewnie pisał na szybko i się pomylił.. ano zdarza się :)
Marcin Skurski

Marcin Skurski PHP, MySQL, Oracle,
JavaScript, JQuery,
AJAX, (X)HTML, CS...

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

A może tak:

1. $words = explode(' ', 'tekst piosenki');
2. $hidden_words = array_rand($words, [ilość słów które chcemy ukryć]);
3. $_SESSION['hidden_words'] = hidden_words;
4. zastępujemy wszystkie ukryte słowa
foreach($hidden_words as $key=>$i) {
$words[$i] = '<input type="text" name="hidden_word['.$key.']" />';
}
5. $text = implode(' ', $words);
6. wyświetlamy teks na stronie

Po wysłaniu postem porównujemy:
foreach($_POST['hidden_words'] as $key => $word) {
if($_SESSION['hidden_words'][$key] == $word) {
//jest poprawne dopasowanie
} else {
//brak dopasowania
}
}

konto usunięte

Temat: Jak zrobić test z wpisywaniem prawidłowych odpowiedzi...

EXPLODE wg.spacji i LOSOWE wybieranie słów to najgorsze z mozliwych rozwiazan!
dlaczego proponujecie mu taką lipe? trzeba zrobic to porzadnie, od podstaw do samego konca



Wyślij zaproszenie do