IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

Aktivity
Avatar
Václav Janča:7.12.2021 14:26

Můžete se někdo mrknout? Nechtěl bych řešení, to už jsem si stáhnul, ale chtěl bych vědět proč ten můj kód nefunguje - kde dělám chyby. Můj zdroják je ve vláknu pod úlohami s dnešním datem. Předem díky za radu

 
Odpovědět
7.12.2021 14:26
Avatar
Peter Mlich
Člen
Avatar
Odpovídá na Václav Janča
Peter Mlich:7.12.2021 20:10

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 </>

 
Nahoru Odpovědět
7.12.2021 20:10
Avatar
Odpovídá na Peter Mlich
Václav Janča:7.12.2021 23:11
$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>
    ");


?>
 
Nahoru Odpovědět
7.12.2021 23:11
Avatar
Odpovídá na Peter Mlich
Václav Janča:7.12.2021 23:14

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

 
Nahoru Odpovědět
7.12.2021 23:14
Avatar
Odpovídá na Peter Mlich
Václav Janča:7.12.2021 23:35

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í...

 
Nahoru Odpovědět
7.12.2021 23:35
Avatar
Odpovídá na Peter Mlich
Václav Janča:8.12.2021 5:10

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...

 
Nahoru Odpovědět
8.12.2021 5:10
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:8.12.2021 9:56
<?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


?>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
8.12.2021 9:56
Avatar
Odpovídá na Peter Mlich
Václav Janča:8.12.2021 11:36

Díky za tvůj čas. Ještě si to musím trochu srovnat. Ale už mi asi svítá.

 
Nahoru Odpovědět
8.12.2021 11:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.