Autor Zpráva
Joan
Profil
Prosím o laskavé nasměrování, které funkce, události apod. si mám nastudovat, abych mohla pro synka vytvářet zatím jednoduché školní testy podobné těmto:

Umím HTML, CSS, JavaScript se učím týden a o databázi (je-li k tomu třeba) jsem zatím nezakopla ani palcem, takže jedině bez ní...
Děkuji předem!
panther
Profil
Joan:
kde jsou ty doby, kdy jsme si domácí úkoly psali na papír... :-)
HomerJay
Profil
Treba ti HTML a PHP, nemám teraz čas rozpisovať, ale ak chceš, môžem poslať zdrojový kód na ukážku, nedávno som pre učiteľa informatiky niečo podobné robil, tak len... ako ukážka... ale je to dosť amatérske :)
Keď tak - down tu.
Joan
Profil
Nechce se mi věřit, že by to nešlo jen pomocí JavaScriptu - já to nepotřebuji nahrávat na web, stačí mi to jen lokálně na PC.

to Panther: taky vzpomínám, ale na počítači nemusí škrtat špatné odpovědi (když si najednou vzpomene, jak to má být správně) a já se na tom naučím trošičku programovat.
Herm
Profil
co třeba:

index.php
<form action="zkontrolovat.php" method="POST">
<strong>Je tohle dobrý test?</strong>
<p><input type="radio" name="otazka1" value="Ano">Ano</p>
<p><input type="radio" name="otazka1" value="Ne">Ne</p>
<p><input type="radio" name="otazka1" value="Možná">Možná</p>

<strong>Umíš test?</strong>
<p><input type="radio" name="otazka2" value="Ano">Ano</p>
<p><input type="radio" name="otazka2" value="Ne">Ne</p>
<p><input type="radio" name="otazka2" value="Možná">Možná</p>

<br>
<p><input type="submit" value="Zkontrolovat"></p>
</form>


zkontrolovat.php
<? 
$vysledek1 = $_POST[otazka1];
$vysledek2 = $_POST[otazka2];

echo"<p><strong>Je tohle dobrý test?</strong> $vysledek1</p>";
echo"<p><strong>Umíš test?</strong> $vysledek2</p>";
?>


pokud umíte dobře v php tak si můžete i přes podmínku zkontrolovat jestli je to dobře

if($vysledek1 == "ANO") { echo"Správna odpovět"; } else { echo"Špatná odpovět"; }
if($vysledek2 == "NE") { echo"Správna odpovět"; } else { echo"Špatná odpovět"; }


je to takový jednoduchý skript, který neukládá hodnoty
Joan
Profil
Herm:
Děkuji za příklad, ale... já jsem schválně v úvodu psala, že umím jen HTML, CSS a JavaScript se učím zhruba týden. Takže o php vím asi jen to, že to existuje, víc nic.
Chtěla jsem si to napsat jen pomocí JavaScriptu, neříkejte mi, že to nejde ani na lokálu...
imploder
Profil
Joan:
Chtěla jsem si to napsat jen pomocí JavaScriptu, neříkejte mi, že to nejde ani na lokálu...
Obávám se, že nejde. JavaScript, ač je to hloupé, ani na lokálu nemůže vytvářet soubory (jedině cookies, a ty jsou hodně omezené - max. 4 KB). Takže vyrobit test jako HTML stránku s javascriptem, který ji vyhodnocuje - ano, to jde. Ale nejde javascriptem uložit výsledek. Tj. např. program na vytváření testů by jen v JS + HTML vyrobit nešel.
Chamurappi
Profil
Reaguji na Joan:
Lokálně si můžeš spustit HTA aplikaci (tj. HTML stránku v samotném jádře Internet Exploreru) nebo XUL aplikaci (cosi podobného pod Mozillou), konkrétní příklady si zkus najít sama. Taková aplikace disponuje nadstandardními právy (cca jako klasický program), takže i zápis na disk by měl projít.
_es
Profil
Vo Windows ide aj priamo spustiť interpreter JScriptu. Stačí na to vytvoriť textový súbor s príponou js.
Ten má rovnaké práva ako iné spustiteľné súbory. Mal by sa tak dať aj ovládať IE.
Herm
Profil
mno když se na to php aspon 30 minut podívate, tak tyhle základní php kody musíte ovládat do chvilky
EDIT: jestli umíte podminky v javascriptu, tak je udělate bezproblemove i v php, jsou uplně stejné. A co se týče kódu

$vysledek1 = $_POST[otazka1];


tak ten ukládá do proměné vysledek1 hodnotu s otázky "Je tohle dobrý test?" tj. (name="otazka1")
HomerJay
Profil
Joan:
Máš na mysli niečo takéto? Tuším že to pôjde aj na lokále...
sysel
Profil
Myslím, že sestavit formulář zřejmě zvládnete. Logický předpoklad, že po odeslání by ho měl zkontrolvat nějaký serverový script, je v zásadě správný, ale hlavně v případku, že si na serverové straně ukládáte výsledky a řešíte související procedury - tedy návrat k výkladu toho co zkoušený popletl, pokračování ke složitějším testům a další paedagogicky zajímavé činnosti jako to kdysi zkoušely tzv. "zmatené učebnice".

Vy však zřejmě s takovými lahůdkami zatím nepočítáte, a proto Vám postačí jen obyčejná validace formuláře (pokusil jsem se uvést termín, který lze zadat do googlu). Výsledkem této validace můžete podmínit postup na další test nebo opakování téhož testu. K tomu snad lze přidat i měření času, pokud si hodnotu aktuálního času při načtení stránky prozíravě uložíte do proměnné, abyste při validaci po ukončení testu měla s čím porovnávat. Snad by šlo test i náslině ukončit po vypršení stanoveného času, ale teď mne nenapadá nic lepšího než meta command reload page a to by asi nebylo nejlepší.

Nedávno jsem něco zkoušel sesmolit pro validaci registračního formuláře v tomto tématu. Pokud byste si nevěděla rady s přetvořením formuláře do testovací podoby tak se ozvěte. Ale není nutné stránku vytvářet programem, to byl jen takový úlet, validační funkce by měla fungovat i nad formulářem zapsaným klasicky v HTML.

Celá věc má jen jednu vadu na kráse, v HTML zdroji jsou dotupné výsledky řešení a v momentě, kdy na to harntě přijde, jste v rejži, nebo máte mimořádně morálně vyvinuté mládě. :-)

Reaguji na Herm:
mno když se na to php aspon 30 minut podívate
Což o to, za podívání nic nedá, ale pro úspěšný běh bude muset někde v dosahu rozběhnout AMP. ;-)
Herm
Profil
[#12] sysel
výše jsem psal ukázku, a funguje.. je to php, a snad nejjednodušším způsobem
sysel
Profil
Herm:
a funguje..
Nechtěl jsem se dotknout, také nezpochybňuji funkčnost ukázky, jen jsem chtěl připomenout, že podmínkou fungování je přinejmenším Apache s modulem PHP. Ale Joan se zřejmě pídí po možnosti ryze lokálního souboru, přenositelného z počítače na počítač. Prostě se asi chce obejít bez serveru.
Joan
Profil
HomerJay:
Bingo! To je přesně ono, co chci. Může být i v jednodušší podobě tj. vybírat jen ze dvou možností např. "s - z", "y -i" apod.

to sysel: Mám dojem, že jsem si ukousla pořádné sousto a k spolknutí už nemám dostatečné znalosti... Když jde lokálně prohlížet HTML soubor, myslela jsem si, že podobně to může fungovat i v kombinaci s javascriptem, který taky běží pouze na klientském počítači, bez jakéhokoliv serveru (sem taky ještě znalostmi nedosáhnu).
Když přinejhorším použiju podmínku if...else a alert pro správnou a alert pro špatnou odpověď (pro každou otázku celou "sadu" if...else a alerty), aby teda hned věděl, jestli se splet nebo ne, tak zase bych u něho musela sedět a kontrolovat po jednom, že? Co je to zdrojový kód a jak se do něj dostat nemá synek ani ponětí, ale asi mi to bude houby platné.
Asi se napřed budu muset naučit jednodušší věci, že? I tak všem děkuji za jejich čas.
sysel
Profil
Není to nijak špatný cíl, i když zatím je možná blíž horizontu než realisaci. Přesto bych ho neopouštěl, i když by se k němu dalo přibližovat po menších krocích. Ostatně klást si před sebe větší cíle je cennější.

V tomto okamžiku bych viděl jako moudré naučit se a napsat ten formulář s otázkami, na jednu stranu tak asi deset, a potom se znovu ozvat s konkrétní podobou, abychom tu vyhodnocovací část nějak doladili.

Myslím, že by se taková práce mohla hodit i vícero rodičům, teda oni by ji upotřebili ponejvíce učitelé, ale ti zoufale chybí a namísto nich učí vyučující, a tak by se to mělo dotáhnout do nějaké snáze upotřebitelné podoby - tím myslím, aby se část s o textem otázek a odpovědí dala nějak šikovně vypreparovat, a tak se dala kostra vícenásobně použít.

Od takové podoby není problém přejít k serverové podobě.
Joan
Profil
Máš pravdu, takto to asi bude nejlepší, pustím se do toho postupně. Děkuju za správné nasměrování :-)
P.S.: Je rozumné učit se JavaScript současně s PHP nebo v tom budu mít spíše guláš?
Herm
Profil
Joan:
no neni to špatné, je to vcelku podobné, až na zapeklité syntaxe v JavaScriptu. Ale ja bych prvni doporučil PHP.
sysel
Profil
Oba jazyky v sobě nezapřou Cčko. Mají poněkud jiný přístup k proměnným typu pole. Pro psaní moderních stránek, které fugují dostatečně rychle a řeší správnou část programově u klienta a správnou na serveru jsou potřebné oba. Při pokusech s Javascriptem je velmi potřebné seznámit se s konceptem DOM (Document Object Model), protože plno JavaScriptových fíglů je silně svázáno právě s tím. Pro začátek, a já se toho držím posud, je dobré se v JavasScriptu vyhýbat prvkům, které si různé prohlížeče (MSIE/FF/Opera/Safari/...) vykládají po svém. V každém případě s PHP nelze fakticky začít, pokud nemám vládu nad nějakým správně nakonfigurovaným web serverm (Appache s PHP modulem), což se sice dá dnes pořídit snadno - MAMP, WAMP, v Linuxu snad existuje taky balíček, ale preferuji instalaci z vlastních balíčků distribuce - nicméně pokud si vývojář nemůže dovolit nějaké komfortní IDE - vývojové prostředí - s debuggerem, našeptávačem a podobnými fintami, musí se naučit ladit své programy přes browser. IE (od verse 8) prý už má taky nějakoé lepší možnosti, do FF se dá přidat mnoho výtečných utilit, Operu sice moc neznám, ale je na tom prý už v základní versi nejlépe.
K Vaší lítosti musím připomenout, že Vám přibude nutnost seznámit se alespoň s nejzákladnějšími vlastnostmi (My)SQL jazyka, protože PHP si svá data pamatuje jen po tu chvilku, kdy je aktivován a dlouhodobě si musíte své výsledky, ale i parametry ukládat do databáze.
Ještě připomenu jeden skil, který si musíte osvojit smostatně, protože ušetří spostu IFů a CASEů: RegExp - čili regulární výrazy.

Závěr:
Bude se to plést: Ano, ale s tím se dá žít
Je dobré se to učt žároveň: Je to nutné, protože se dá spousta práce přenést na stranu klienta
Co je potřeba: xAMP, šikovně dovybavený browser a nějaký fajn editor (mně se osvědčil KomodoEdit) nebo IDE

Je fajn, neučit se to na sucho, ale mít nějakou úlohu, ale tu Vy máte :-) a já se k Vám s řešením rád přidám.
Joan
Profil
sysel:
Díky Ti moc za nastínění, co mě čeká - a opravdu nemine, protože navíc jsem se dostala do situace, kdy se PHP a databáze prostě naučit MUSÍM (kvůli fungování jednoho velmi potřebného webu běžícího na phpRS). Takže motivaci naučit se PHP, databáze, JavaScript a redakční systém mám docela velikou... O to rychleji snad získám potřebné znalosti na vytváření školních testů.
Koupila jsem si knížku "PHP a MySQL bez předchozích znalostí" od Miloslava Ponkráce a budu louskat :-)
Používám Firefox s doplňky a PSPad, XAMPP si nainstaluju, jakmile zjistím, jestli XAMPP Add-Ons nebo XAMPP Lite verzi odtud.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0