Přednáška formuláře a session
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
HTTP je bezestavový protokol => komplikace
HTTP je bezestavový protokol => komplikac
Přiklad problému
Přiklad problém
Vyberte svůj oblíbený film:
Vyberte svůj oblíbený film
Aplikační logika:
Aplikační logika
– vybraným zvýšíme ohodnocení o 1
vybraným zvýšíme ohodnocení o
– nevybraným snížíme ohodnocení o 1
nevybraným snížíme ohodnocení o
Které to jsou?
Možná řešení
Možná řešen
1.
1
Při zpracování se opět dotážeme na původní
Při zpracování se opět dotážeme na původní
množinu externího zdroje (db)
množinu externího zdroje (db
–
Co když se to mezitím změnilo?
Co když se to mezitím změnilo
2.
2
V dotazu pošleme i celou množinu ze které
V dotazu pošleme i celou množinu ze které
uživatel vybíral
uživatel vybíra
–
Hidden pole
Hidden pol
oblibene_filmy.html
–
Hidden pole
Hidden pol
<form method="POST" action="oblibene_filmy.php">
<input type="hidden" name="vsechny_filmy" value="f1 f2 f3 f4">
<label
for="f1">Lásky jedné plavovlásky</label>
<input type="checkbox" id="f1" name="oblibene_filmy[]" value="f1"><br><label
for="f2">S tebou mě baví svět</label>
<input type="checkbox" id="f2" name="oblibene_filmy[]" value="f2"><br><label
for="f3">Vesničko má středisková</label>
<input type="checkbox" id="f3" name="oblibene_filmy[]" value="f3"><br><label for="f4">Jak vytrhnout velrybě stoličku</label><input
type="checkbox" id="f4" name="oblibene_filmy[]"
value="f4"><br>
<input
type="submit"
name="odeslat" value="Odeslat">
</form>
Zpracování v php
Zpracování v ph
<?php
$vsechny_filmy= split(" ", $_POST['vsechny_filmy']);
foreach ($vsechny_filmy as $aktualni_film) {
echo '<div>'.htmlspecialchars($aktualni_film);
if (in_array($aktualni_film, $_POST['oblibene_filmy'])) {
echo " +1 bod";
}
else {
echo "-1 bod";
}
echo '</div>';
}
oblibene_filmy.php