Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 6. diel - Podmienky v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Martin Kubíček:13.4.2019 13:32

Ahoj, jsem nejake zaklady PHP uz znam z drivejska, presto jsem si radeji mistni tutorialy dal uplne od zacatku, abych si to osvezil, chci se zeptat, jestli tento kod je aspon trosku v poradku, ci zda-li jsou tam nejake hrubky, pripadne jake,udelal jsem to pomoci switch... diky moc

<?php

$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$ukon = $_POST['ukon'];

if ($b == 0) {
    echo "Nelze delit nulou !!";
}
else

    switch ($ukon) {
        case '+' :
            echo("Vysledek je " . ($a + $b));
            $vysledek = true;
            break;
        case '-' :
            echo("Vysledek je " . ($a - $b));
            $vysledek = true;
            break;
        case '*' :
            echo("Vysledek je " . ($a * $b));
            $vysledek = true;
            break;
        case '/' :
            echo("Vysledek je " . ($a / $b));
            $vysledek = true;
            break;
        default :
            echo("Zadej cisla");


    }


?>

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Kalkulačka</title>
</head>
<body>
<p>Kalkulacka</p>


<form method="POST" action="kalkulacka.php">
    <label>Cislo 1</label><br />
    <input name="cislo1" type="text" /><br />
    <td>Operace</td>
    <td><select name="ukon">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select></td><br />
    <label>Cislo 2</label><br />
    <input name="cislo2" type="text" /><br />
    <input type="submit" value="Vypocitej" />
</form>

</body>
</html>
Avatar
Iva.U
Člen
Avatar
Iva.U:23.1.2020 12:05

Skvělá lekce, moc dík.

Avatar
František Červeňák:30.7.2020 20:35
<!DOCTYPE html>
<html lang="sk">
<head>
        <meta charset="UTF-8">
        <title>FUNKCIA - "KALKULAČKA"</title>
        <link rel="stylesheet" href="">
</head>
<body>
             <form action='' method='POST' accept-charset='utf-8'>
                <input type='number' name='a'> <input type='number' name='b'>
                <select name='operacia'>
                        <option value='sucet'>+</option>
                        <option value='rozdiel'>-</option>
                        <option value='sucin'>x</option>
                                <option value='podiel'>:</option>
                </select>
                <input type='submit' name='button' value='vypočítaj'>
             </form><br>
</body>
</html>
           <?php //kód na funkciu kalkulačky:
function kalkulacka(){
             $a='';
             $b='';
             $operacia='';
           if (isset($_POST['button']) AND isset($_POST['a']) AND
                 isset($_POST['b']) AND isset($_POST['operacia'])){

                      $a = $_POST['a'];
                      $b = $_POST['b'];
                      $operacia = $_POST['operacia'];

                  if ($a !="" AND $b !="" AND $operacia !="") {

                 switch ($operacia) {
                        case 'sucet':
                                echo $a + $b;
                                break;

                                case 'rozdiel':
                                echo $a - $b;
                                break;

                                case 'sucin':
                                echo  $a * $b;
                                break;

                                case 'podiel':
                                echo  $a / $b;
                                break;

                        default:
                                echo "error";
                                break;
                                                        }

                                                                  }

                  else{
                echo"Zadajte hodnoty do obidvoch políčok";
                           }


                                }
          else{
                echo"Zadajte hodnoty do políčok";
          }

}

//hotová funkcia, ktorá sa vždy automaticky spustí načítaním horeuvedeného scriptu :
kalkulacka();

?>
Avatar
František Červeňák:5.8.2020 0:19

ešte s ošetrením, ak by mal by mal byť deliteľ * 0* :

           <?php //kód na funkciu kalkulačky:
function kalkulacka(){
             $a='';
             $b='';
             $operacia='';
           if (isset($_POST['a']) AND
               isset($_POST['b']) AND
               isset($_POST['operacia'])){

                      $a = $_POST['a'];
                      $b = $_POST['b'];
                      $operacia = $_POST['operacia'];

                  if ($a !="" AND $b !="" AND $operacia !="") {

                 switch ($operacia) {
                            case 'sucet':
                                echo $a + $b;
                                break;

                                case 'rozdiel':
                                echo $a - $b;
                                break;

                                case 'sucin':
                                echo  $a * $b;
                                break;

                                case 'podiel':
                                if($b!=0){
                                echo  $a / $b;}
                                else {echo "error - delenie nulou nie je definované";}
                                break;

                                default:
                                echo "error";
                                break;
                                                        }

                                                                  }

                  else{
                echo"Zadajte hodnoty do obidvoch políčok";
                           }


                                }
          else{
                echo"Zadajte hodnoty do políčok";
          }

}

//hotová funkcia, ktorá sa vždy automaticky spustí načítaním horeuvedeného scriptu :
kalkulacka();

?>
Avatar
Pavel Kubalík:23.11.2020 15:07

Dobrý den
Tentokrát zavírám lekci o podmínkách s radostí.
Řešení následných příkladů mě bavilo a příklady byly dobré (nikoli lehké).
Dost jsem se poučil (i když téma podmínek pro mne již několik desetiletí není neznámé).
Líbí se mi jak úsporně se podmínky v PHP píší (a asi nejen v PHP).
Děkuji PK

Avatar
Jozef Lysík
Člen
Avatar
Odpovedá na Niesomtu Hraskova
Jozef Lysík:19.4.2021 22:33

Druhý riadok v tomto prípade nepatrí podmienke, takže bez ohľadu či je podmienka splnená alebo nie sa druhý riadok vypíše vždy. Ja si blok kódu pre podmienku vždy dávam do {...} hoci keď je tam len jeden riadok tak zátvorky niesu povinné.

Avatar
Jaroslav Parma:28.5.2021 10:58

Ahoj všem,
kalkulačku v zadání v této lekci jsem trochu vylepšil o validaci (je to převzaté z další lekce, kde se vytváří kontaktní emailový formulář). Po krátkém trápení s 0 (když jsem zadal 0, tak mi to vyhodilo chybu, protože to vnímalo jako odeslání prázdného formuláře) se mi povedlo kalkulačku zprovoznit. Teprve se učím, tak bych se rád zeptal někoho zkušenějšího, jestli by se můj kód nedal napsat efektivněji.

<?php
        $operace = $_POST['operace'];
        if ($_POST)
            {
                if (isset($_POST['cislo1'], $_POST['cislo2']) && ($_POST['cislo1'] ||
                $_POST['cislo1'] == 0) && ($_POST['cislo2'] || $_POST['cislo2'] == 0))
                {   $a = $_POST['cislo1'];
                    $b = $_POST['cislo2'];
                    if ($operace == 'scitani')
                        {
                        $vysledek = $a + $b;
                        $hlaska = 'Výsledek je: ' . $vysledek;
                        }
                    else if ($operace == 'odcitani')
                        {
                            $vysledek = $a - $b;
                            $hlaska = 'Výsledek je: ' . $vysledek;
                        }
                    else if ($operace == 'nasobeni')
                        {
                            $vysledek =  $a * $b;
                            $hlaska = 'Výsledek je: ' . $vysledek;
                        }
                    else if ($operace = 'deleni')
                        {
                            if ($b == 0)
                                $hlaska = 'Chyba, nulou nelze dělit!';
                            else
                            {
                                $vysledek = $a / $b;
                                $hlaska = 'Výsledek je: ' . $vysledek;
                            }

                        }
                }
                else
                    $hlaska = 'Nezadal jsi všechna čísla.';
            }
        echo($hlaska . '<br />
        <a href="kalkulacka.html">Zpět</a>');
    ?>

\---

Avatar
Petr Váchal
Člen
Avatar
Odpovedá na Martin Kubíček
Petr Váchal:17.11.2022 15:08

Switch? Tleskám. Za mě je to úplně na pohodu.

Odpovedať
Tolik bezradnosti, a furt se žije. Ej!
Avatar
Odpovedá na Petr Váchal
Martin Kubíček:17.11.2022 21:07

diky, sice pozde a uz jsem se trosku za 3 a pul roku posunul, ale je to usmevne se podivat na nejaky kod,ktery jsem psal, kdyz jsem zacinal brat programovani vazne :) jinak uz se 3 roky a 5 mesicu uspesne zivim jako full stack, ted delam zejmena backend (a zvladnu uz i o neco tezsi funkce :D ), ale i tak me potesilo doceneni meho hezky napsaneho switche, diky moc :)

Avatar
Petr Váchal
Člen
Avatar
Odpovedá na Martin Kubíček
Petr Váchal:17.11.2022 21:08

Není vůbec zač :)
Ať se daří, ať to kódí!

Odpovedať
Tolik bezradnosti, a furt se žije. Ej!
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 97.