POUZE DNES: Získej 90 % extra kreditů ZDARMA při dobití od 1199 kreditů s promo kódem REKVALIFIKACE90. Zjisti více:
POSLEDNÍ ŠANCE do 29. 8. 2025: Pracuj až o 60 % rychleji díky akreditovanému kurzu Specialista na AI. Nyní již od 0 Kč. Zjisti více:

Diskuze – Lekce 6 - Asociativní pole v PHP a obsluha formulářů

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Maroš Motaj
Člen
Avatar
Odpovídá na Jan Lupčík
Maroš Motaj:13.2.2018 11:22

Ahojte, ďakujem už to nevypisuje chybu, ale keď stlačím súčet tak formulár vypíše:

Web localhost neodeslal žádná data.
ERR_EMPTY_RESPONSE

a druhá stránka kde má byť súčet je prázdna... :/

neviem či tomu správne chápem, ale mal by som mať dve stránky spustené? jedna je s formulárom a druhá je tá, kde vypíše výsledok?

Ďakujem,

 
Odpovědět
13.2.2018 11:22
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Maroš Motaj
Jan Lupčík:13.2.2018 17:03

Ahoj, můžeš prosím poskytnout kód té stránky, kde je chyba? Takhle opravdu netuším, kde by mohla být chyba. :)

Odpovědět
13.2.2018 17:03
TruckersMP vývojář
Avatar
Maroš Motaj
Člen
Avatar
Maroš Motaj:14.2.2018 8:57

Ahoj :)

Posielam:

PHP:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kalkulac­ka</title>
</head>
<body>
<?php
if (isset($_POST["cis­lo1"]) && isset($_POST["cis­lo1"]) && isset($_POST["cis­lo1"])){
$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$operace = $_POST['operacia'];

if ($operace == 'scitanie')
$vysledok = $a + $b;
else if ($operacia == 'odcitanie')
$vysledok = $a - $b;
else if ($operacia == 'nasobenie')
$vysledok = $a * $b;
else if ($operacia == 'delenie')
{
if ($b != 0)
$vysledok = $a / $b;
else
$vysledok = 'Chyba';
}
echo("vysledok: $vysledok");
}
HTML:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kalkulac­ka</title>
</head>
<body>
<p>Vítejte v kalkulacke.</p>

<form method="POST" action="index.php">
<input name="cislo1" type="text" /><br />
<input name="cislo2" type="text" /><br />
<input type="submit" value="Spocitaj" />
</form>

</body>
</html>

myslím si, že HTML nepošle na správne miesto zadané čísla... oba kódy majú názov index.php a index.html(volajú sa index aj keď ich ukladám pod názvom kalkulacka). Index.php mám uložený na C:\users.... a index.html mám uložený v dropboxe... ako ich mám prepojiť? musia byť uložené spolu na jednom mieste?

Ďakujem,

 
Odpovědět
14.2.2018 8:57
Avatar
Jan Štrobl
Člen
Avatar
Odpovídá na Maroš Motaj
Jan Štrobl:14.2.2018 10:22

Ahoj, co takhle si do podmínky dát jenom čísla která tam opravdu máš? :D Tudíž si toto

if (isset($_POST["cislo1"]) && isset($_POST["cislo1"]) && isset($_POST["cislo1"])){

oprav na

if (isset($_POST["cislo1"]) && isset($_POST["cislo2"]))){
 
Odpovědět
14.2.2018 10:22
Avatar
Maroš Motaj
Člen
Avatar
Odpovídá na Jan Štrobl
Maroš Motaj:14.2.2018 10:33

Už som to opravil. :) ďakujem,

Ale aj tak:

Umiestnil som kalkulacka.html a vypocet.php do jednej zložky na disku. Spustím formulár zadám čísla dám sčítať, nasleduje prázdna stránka bez informácií... následne spustím vypocet.php a zas len prázdna web stránka....

ďakujem,

HTML:
<p>Vitajte v kalkulačke, zadajte 2 čísla a operáciu.</p>

<form method="POST" action="vypocet­.php">
<input name="cislo1" type="text" /><br />
<input name="cislo2" type="text" /><br />
Operacia:
<select name="operacia">
<option value="scitani­e">Sčítanie</op­tion>
<option value="odcita­nie">Odčítáni­e</option>
<option value="nasobe­nie">Násobeni­e</option>
<option value="deleni­e">Dělenie</op­tion>
</select><br />
<input type="submit" value="Vypočítaj" />

PHP:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>vypocet</ti­tle>
</head>
<?php
if (isset($_POST["cis­lo1"]) && isset($_POST["cis­lo2"])){
$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$operacia = $_POST['operacia'];

if ($operacia == 'scitanie')
$vysledok = $a + $b;
else if ($operacia == 'odcitanie')
$vysledok = $a - $b;
else if ($operacia == 'nasobenie')
$vysledok = $a * $b;
else if ($operacia == 'delenie')
{
if ($b != 0)
$vysledok = $a / $b;
else
$vysledok = 'Chyba';
}
echo("vysledok: $vysledok");

 
Odpovědět
14.2.2018 10:33
Avatar
Jan Štrobl
Člen
Avatar
Odpovídá na Maroš Motaj
Jan Štrobl:14.2.2018 10:36

Teď koukám.. ty tam toho máš mnohem víc..otevři si svůj soubor.. vedle si otevři nový a nahraj tam tento kod, který funguje a podle něj si to oprav a přemýšlej jak a proč si tam měl chybu.

<?php
if (isset($_POST["cislo1"]) && isset($_POST["cislo2"])){
$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$operacia = $_POST['operacia'];

if ($operacia == 'scitanie') {
$vysledok = $a + $b;
}else if ($operacia == 'odcitanie'){
$vysledok = $a - $b;
}else if ($operacia == 'nasobenie'){
$vysledok = $a * $b;
}else if ($operacia == 'delenie'){
if ($b != 0)
$vysledok = $a / $b;
}else
$vysledok = 'Chyba';
}
echo("vysledok: $vysledok");

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kalkulacka</title>
</head>
<body>
<p>Vítejte v kalkulacke.</p>

<form method="POST">
<select name="operacia">
<option value="scitanie">scitanie</option>
<option value="odcitanie">odcitanie</option>
<option value="nasobenie">nasobenie</option>
<option value="delenie">delenie</option>
</select>
<input name="cislo1" type="text" />
<input name="cislo2" type="text" />
<input type="submit" value="Spocitaj" />
</form>

</body>
</html>
 
Odpovědět
14.2.2018 10:36
Avatar
Maroš Motaj
Člen
Avatar
Odpovídá na Jan Štrobl
Maroš Motaj:14.2.2018 12:45

Ďakujem, už chápem kde som robil chyby :) už mi to ide.

 
Odpovědět
14.2.2018 12:45
Avatar
František Kreisinger:5.3.2018 16:26

Proč tady v ukázce print_r($array) (třeba print_r($batoh); nebo print_r($batoh2);) vypíše jednotlivé prvky pole hezky každý na nový řádek, ale mně to namastí všechny do jednoho řádku i když použiji přesně ten příklad z ukázky?

Odpovědět
5.3.2018 16:26
Začátečník v PHP, HTML i webovém programování vůbec.
Avatar
František Kreisinger:15.3.2018 13:13

Lze odesílat FORMulář jen po ENTER na údaji bez toho, aby ve formuláři byl nějaký SUBMIT? Nikde jsem se o tom zatím nedočetl. Přesto mi to tak funguje, viz třeba:

<FORM action="ViewPos­t.php" method="POST">
<INPUT type=TEXT size=10 name=Text value="????">
</FORM>

Je to někde popsáno? Jak to by to pak fungovalo, pokud by v tom formuláři nějaké SUBMIT byly?

Odpovědět
15.3.2018 13:13
Začátečník v PHP, HTML i webovém programování vůbec.
Avatar
Odpovídá na František Kreisinger
Dominik Gavrecký:15.3.2018 13:23

Čo v prípade mobilov ? Aký enter by si tam použil ? http://www.alanflavell.org.uk/…uestion.html

Odpovědět
15.3.2018 13:23
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
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 10 zpráv z 188.