Diskuze: Řešené úlohy k 5 lekci základní konstrukce - 3 úloha. Proč mi to nefunguje?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
To je sice super, ale, pokud nemas lekci koupenou, tak se ti ovetre jen
prazdna stranka Takze pouzij
zip nebo sem kod zkopiruj do code, tlacitko editoru
</>
$nadpis = $_POST['nazev'];
$nazevFilmu = ['Měsíc' => $mesic, 'Madagaskar' => $madagaskar,
'Kill Bill' => $kill_bill, 'Pár pařmenů' => $par_parmenu];
$hodnoceniFilmu = ['Měsíc' => '76', 'Madagaskar' => '74',
'Kill Bill' => '78', 'Pár pařmenů' => '68'];
$popis = $nazevFilmu[$nadpis];
$hodnoceni = $hodnoceniFilmu[$nadpis];
$mesic = ("<p>$nadpis . ' - Astronaut Sam Bell
(Sam Rockwell) je jediným zaměstnancem pobývajícím na měsíční základně firmy
Lunar Industries, se kterou uzavřel tříletou smlouvu.
Jeho úkolem je kontrolovat jinak plně zautomatizovanou
těžbu vzácného plynu Helium-3, který je na Zemi používán jako palivo.'
</p>");
$madagaskar = ("<p>$nadpis . ' - Nový animovaný snímek studia Dreamworks
vypráví o čtveřici zvířecích celebrit z Central Park ZOO v New Yorku.'
</p>");
$kill_bill = ("<p>$nadpis . ' Bývalá členka špičkového zabijáckého komanda
(Uma Thurman) se rozhodne navždy skončit s minulostí a vdát se.
Její svatební den se však změní v krvavá jatka v okamžiku, kdy na ni zaútočí
její bývalý šéf Bill (David Carradine) a zabije ji.
Mladá žena však nezemřela, i když si to všichni myslí.'</p>");
$par_parmenu = ("<p>$nadpis . ' Pár Pařmenů[1] je všeobecně užívaný zkrácený název parodie fantasy filmu Pán prstenů: Společenstvo prstenu'</p>");
echo("
<h1>$nadpis</h1>
<h2>Popis</h2>
<p>$popis</p>
<h2>Hodnoceni></h2>
<p>$hodnoceniFilmu</p>
");
?>
Jinak z html se odešle 'nazev' a já mám podle něj přiřadit popis a hodnocení. Vím, že se to dá jednoduše řešit jinak, ale zajímá mě proč mi tenhle kod nefunguje. BTW Dík za reakci
A teť když na to koukám, tak to poslední echo je blbě, ale to není (myslím) to hlavní špatně, nějak se mi tam nedaří správně načítat do těch asociativních polí...
Už sem na to přišel:
<?php
$nadpis = $_POST['nazev'];
$mesic = ("$nadpis . ' - Astronaut Sam Bell
(Sam Rockwell) je jediným zaměstnancem pobývajícím na měsíční základně firmy
Lunar Industries, se kterou uzavřel tříletou smlouvu.
Jeho úkolem je kontrolovat jinak plně zautomatizovanou
těžbu vzácného plynu Helium-3, který je na Zemi používán jako palivo.'
");
$madagaskar = ("$nadpis . ' - Nový animovaný snímek studia Dreamworks
vypráví o čtveřici zvířecích celebrit z Central Park ZOO v New Yorku.'
");
$kill_bill = ("$nadpis . ' Bývalá členka špičkového zabijáckého komanda
(Uma Thurman) se rozhodne navždy skončit s minulostí a vdát se.
Její svatební den se však změní v krvavá jatka v okamžiku, kdy na ni zaútočí
její bývalý šéf Bill (David Carradine) a zabije ji.
Mladá žena však nezemřela, i když si to všichni myslí.'");
$par_parmenu = ("$nadpis . ' Pár Pařmenů[1] je všeobecně užívaný
zkrácený název parodie fantasy filmu Pán prstenů: Společenstvo prstenu'");
$nazevFilmu = ['Měsíc' => "$mesic", 'Madagaskar' => "$madagaskar",
'Kill Bill' => "$kill_bill", 'Pár pařmenů' => "$par_parmenu"];
$hodnoceniFilmu = ['Měsíc' => '76', 'Madagaskar' => '74',
'Kill Bill' => '78', 'Pár pařmenů' => '68'];
$popis = $nazevFilmu[$nadpis];
$hodnoceni = $hodnoceniFilmu[$nadpis];
echo("
<h1>$nadpis</h1>
<h2>Popis</h2>
<p>$popis</p>
<h2>Hodnoceni></h2>
<p>$hodnoceni</p>
");
?>
Ale i tak dík za ochotu...
<?php
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL);
//$nadpis = $_POST['nazev'];
$nadpis = isset($_POST['nazev']) ? $_POST['nazev'] : ''; //add
$mesic = ''; //add
$madagaskar = ''; //add
$kill_bill = ''; //add
$par_parmenu = ''; //add
$nazevFilmu = ['Mìsíc' => $mesic, 'Madagaskar' => $madagaskar,
'Kill Bill' => $kill_bill, 'Pár paømenù' => $par_parmenu];
$hodnoceniFilmu = ['Mìsíc' => '76', 'Madagaskar' => '74',
'Kill Bill' => '78', 'Pár paømenù' => '68'];
//$popis = $nazevFilmu[$nadpis]; // nechapu, tam je pole
$popis = isset($nazevFilmu[$nadpis]) ? $nazevFilmu[$nadpis] : '';
; // nechapu, tam je pole
/*
array(
'Mìsíc' => $mesic,
'Madagaskar' => $madagaskar,
'Kill Bill' => $kill_bill,
'Pár paømenù' => $par_parmenu
);
// indexovat to muzes jako
$hodnoceniFilmu['Mìsíc']
// pri nacteni stranky neni poslany POST, takze nadpis je prazdny a kod vyhodi errory
// protoze jsi takovy stav nijak neosetril, Treba by stacilo if (isset($_POST['nazev'])) {...} else {...}
*/
//$hodnoceni = $hodnoceniFilmu[$nadpis];
$hodnoceni = isset($hodnoceniFilmu[$nadpis]) ? $hodnoceniFilmu[$nadpis] : '';
$mesic = "<p>$nadpis . ' - Astronaut Sam Bell
(Sam Rockwell) je jediným zamìstnancem pobývajícím na mìsíèní základnì firmy
Lunar Industries, se kterou uzavøel tøíletou smlouvu.
Jeho úkolem je kontrolovat jinak plnì zautomatizovanou
tìžbu vzácného plynu Helium-3, který je na Zemi používán jako palivo.'
</p>"; // odstranena zavorka ()
// a nechapu proc je to tady a ne pred $nazevFilmu = ['Mìsíc' => $mesic..., ze?
$madagaskar = "<p>$nadpis . ' - Nový animovaný snímek studia Dreamworks
vypráví o ètveøici zvíøecích celebrit z Central Park ZOO v New Yorku.'
</p>"; // odstranena zavorka ()
$kill_bill = "<p>$nadpis . ' Bývalá èlenka špièkového zabijáckého komanda
(Uma Thurman) se rozhodne navždy skonèit s minulostí a vdát se.
Její svatební den se však zmìní v krvavá jatka v okamžiku, kdy na ni zaútoèí
její bývalý šéf Bill (David Carradine) a zabije ji.
Mladá žena však nezemøela, i když si to všichni myslí.'</p>"; // odstranena zavorka ()
$par_parmenu = "<p>$nadpis . ' Pár Paømenù[1] je všeobecnì užívaný zkrácený název parodie fantasy
filmu Pán prstenù: Spoleèenstvo prstenu'</p>"; // odstranena zavorka ()
$x = json_encode($hodnoceniFilmu);
echo "
<h1>$nadpis</h1>
<h2>Popis</h2>
<p>$popis</p>
<h2>Hodnoceni</h2>
<p>$x</p>
"; // smazany zavorky
// <h2>Hodnoceni></h2>
// <h2>Hodnoceni</h2> - smazan 1 znak
// <p>$hodnoceniFilmu</p> - to je nesmysl, hodnoceni filmu je array, nikoliv string
?>
Díky za tvůj čas. Ještě si to musím trochu srovnat. Ale už mi asi svítá.
Zobrazeno 8 zpráv z 8.