• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego mój program nie podaje żadnego wyniku?

Object Storage Arubacloud
+1 głos
154 wizyt
pytanie zadane 27 czerwca 2020 w PHP przez Monika Domińczyk Nowicjusz (130 p.)
zmienione kategorie 28 czerwca 2020 przez Patrycjerz
<?php





function obliczenia()
{
    
    $content ='';
    $content .='<form method="post" action="">';
    
    
    
    $content .='<input type ="text" name="nazwa" placeholder="NAZWA PRODUKTU" />';
    $content .='<br />';
    
    $content .='<input type ="number" name="kwota" placeholder="KWOTA NETTO" />';
    $content .='<br />';


    $content .='<input type ="text" name="waluta" placeholder="WALUTA: PLN" disabled/>';
    $content .='<br />';



$content .='<input type ="submit" name="oblicz" value="OBLICZ" />';
    $content .='<br />';
    
    


?>

<html>
<label> STAWKA VAT:    </label>
            <select name = "dropdown">
            <option value = "vat23"> 23% </option>
            <option value = "vat22"> 22% </option>
            <option value = "vat8"> 8% </option>
            <option value = "vat7"> 7% </option>
            <option value = "vat5"> 5% </option>
            <option value = "vat3"> 3% </option>
            <option value = "vat0"> 0% </option>
            <option value = "vatzw"> z.w. </option>
            <option value = "vatnp"> n.p. </option>
            <option value = "vatoo"> o.o. </option>
            </select><br></br> 

</html>


        
<?php
$num1 = $_POST['Netto'];
    $naz = $_POST['Nazwa'];
    
    
    
    
    switch($_POST['dropdown'])
{
    case "vat23":
    $brutto23 = $num1*1.23;
    $podatek23= $num1*0.23;
    echo " Cena produktu ", $naz, " wynosi ", $brutto23, " zł brutto, a kwota podatku to ", $podatek23, " zł.";
    break;
    
    
    case "vat22":
    $brutto22 = $num1*1.22;
    $podatek22= $num1*0.22;
    echo " Cena produktu ", $naz, " wynosi ", $brutto22, " zł brutto, a kwota podatku to ", $podatek22, " zł.";
    break;
    
    
    case "vat8":
    $brutto08 = $num1*1.08;
    $podatek08= $num1*0.08;
    echo " Cena produktu ", $naz, " wynosi ", $brutto08, " zł brutto, a kwota podatku to ", $podatek08, " zł.";
    break;
    
    
    
    case "vat7":
    $brutto07 = $num1*1.07;
    $podatek07= $num1*0.07;
    echo " Cena produktu ", $naz, " wynosi ", $brutto07, " zł brutto, a kwota podatku to ", $podatek07, " zł.";
    break;
    
    
    
    case "vat5":
    $brutto05 = $num1*1.05;
    $podatek05= $num1*0.05;
    echo " Cena produktu ", $naz, " wynosi ", $brutto05, " zł brutto, a kwota podatku to ", $podatek05, " zł.";
    break;
    
    
    case "vat3":
    $brutto03 = $num1*1.03;
    $podatek03= $num1*0.03;
    echo " Cena produktu ", $naz, " wynosi ", $brutto03, " zł brutto, a kwota podatku to ", $podatek03, " zł.";
    break;
    
    
    case "vat0":
    $brutto0 = $num1*1;
    $podatek0= $num1*0.0;
    echo " Cena produktu ", $naz, " wynosi ", $brutto0, " zł brutto, a kwota podatku to ", $podatek0, " zł.";
    break;
    
    
    case "vatzw":
    $bruttozw = $num1*1;
    $podatekzw= $num1*0;
    echo " Cena produktu ", $naz, " wynosi ", $bruttozw, " zł brutto, a kwota podatku to ", $podatekzw, " zł.";
    echo "<br>";
    echo "Wybrano opcję - zwolnienie z VAT";
    break;
    
    
    
    
    case "vatnn":
    $bruttonn = $num1*1;
    $podateknn= $num1*0;
    echo " Cena produktu ", $naz, " wynosi ", $bruttonn, " zł brutto, a kwota podatku to ", $podateknn, " zł.";
    echo "<br>";
    echo "Wybrano opcję - nie podlega opodatkowaniu";
    break;
    
    
    
    case "vatoo":
    $bruttooo = $num1*1;
    $podatekoo= $num1*0;
    echo " Cena produktu ", $naz, " wynosi ", $bruttooo, " zł brutto, a kwota podatku to ", $podatekoo, " zł.";
    echo "<br>";
    echo "Wybrano opcję - odwrotne obciążenie VAT";
    break;
    
    

}



    $content .= '</form>';
    return $content; 
}




//dodanie shortcode
add_shortcode('ideapro_contact_form', 'obliczenia');

?>

 

Dlaczego po wciśnięciu przycisku OBLICZ nie wyświetlają mi się wyniki?

1 odpowiedź

0 głosów
odpowiedź 28 czerwca 2020 przez VBService Ekspert (253,340 p.)
edycja 28 czerwca 2020 przez VBService

Formatowanie kodu "groch z kapustą" wink, pobieranie danych do zmiennych w php'ie wymieszane z formatowaniem kodu html formularza linie 33-54 itd. . Linia 35 tag <html> wydaje się być częścią formularza, a służy on w bardzo dużym uproszczeniu do "otwarcia" szkieletu (kodu) strony www.
Najprostszy szkielet dokumentu html.

<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="utf-8">
  <title>Title of the document</title>
</head>
<body>

<!-- tu inny kod html -->

<form method="post" action="">
  <input type="text">
  <input type="submit">
</form>

<!-- tu inny kod html -->

</body>
</html>

 

komentarz 28 czerwca 2020 przez Monika Domińczyk Nowicjusz (130 p.)
Czy jestem w stanie zrezygnować z HTML i zrobić rozwijana listę tylko w PHP? Jeśli tak, to w jaki sposób?
komentarz 28 czerwca 2020 przez VBService Ekspert (253,340 p.)
Nie musisz rezygnować z HTML'a, wręcz nie możesz bo nie da się "wyświetlić" pól formularza w przeglądarce i przycisku. Za pomocą PHP przetwarzamy dane przysłane z dokumentu HTML, pobieramy dane z bazy danych, wykonujemy obliczenia na liczbach, obrabiamy tekst itp. i tworzymy dane sformatowane do HTML'a żeby wyświetlić wyniki pracy skryptu PHP w przeglądarce.
komentarz 28 czerwca 2020 przez Monika Domińczyk Nowicjusz (130 p.)
Rozumiem. W takim razie co powinnam zmienić w moim kodzie? Niestety nie potrafię sobie z tym poradzić :/
komentarz 28 czerwca 2020 przez VBService Ekspert (253,340 p.)
edycja 28 czerwca 2020 przez VBService

Na początek można to zrobić tak (bo można to zrobić na inne sposoby), uprościmy maksymalnie (na ile to możliwe).

<?php

    // Sprawdzamy czy został wysłany formularz
    // nacisnięto przycisk OBLICZ - input type ="submit"
    // Jeżeli strona uruchomiona pierwszy raz wyświetl tylko formularz
    if($_SERVER["REQUEST_METHOD"] == "POST") {
        $nazwa_produktu = $_POST['nazwa_produktu'];
        $kwota_netto = $_POST['kwota_netto'];
        $waluta = $_POST['waluta'];
        $stawka_vat = $_POST['stawka_vat'];

    }
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Dodawwanie produktu</title>
</head>
<body>
    <form method="post" action="">
        <input type ="text" name="nazwa_produktu" placeholder="NAZWA PRODUKTU" />
        <br>
        <input type ="number" name="kwota_netto" placeholder="KWOTA NETTO" />
        <br>
        <input type ="text" name="waluta" value="pln" placeholder="WALUTA: PLN" readonly />
        <br>
        <label for="stawka_vat">STAWKA VAT:</label>
            <select name="stawka_vat">
                <option value = "vat23"> 23% </option>
                <option value = "vat22"> 22% </option>
                <option value = "vat8"> 8% </option>
                <option value = "vat7"> 7% </option>
                <option value = "vat5"> 5% </option>
                <option value = "vat3"> 3% </option>
                <option value = "vat0"> 0% </option>
                <option value = "vatzw"> z.w. </option>
                <option value = "vatnp"> n.p. </option>
                <option value = "vatoo"> o.o. </option>
            </select>
        <br>
        <input type ="submit" name="oblicz" value="OBLICZ" />
    </form>
</body>
</html>

 

komentarz 28 czerwca 2020 przez Monika Domińczyk Nowicjusz (130 p.)

Teraz już wszystko działa, bardzo dziękuję smiley

komentarz 28 czerwca 2020 przez VBService Ekspert (253,340 p.)
edycja 29 czerwca 2020 przez VBService

To taka Moja luźna propozycja (interpretacja w oparciu o Twój kod), z dodanym podstawowym formatowaniem tag'ów html w css


<?php

    // Sprawdzamy czy został wysłany formularz
    // nacisnięto przycisk OBLICZ - input type ="submit"
    // Jeżeli strona uruchomiona pierwszy raz wyświetl tylko formularz
    if($_SERVER["REQUEST_METHOD"] == "POST") {
        $nazwa_produktu = $_POST['nazwa_produktu'];
        $kwota_netto = (empty($_POST['kwota_netto'])) ? "0" : $_POST['kwota_netto'];
        $waluta = $_POST['waluta'];
        $stawka_vat = $_POST['stawka_vat'];
        $cenna_brutto = 0;

        switch($stawka_vat) {
            case "vat0":
            case "vatzw":
            case "vatnp":
            case "vatoo":
                $stawka_vat = 0.00;
            break;
            case "vat3":
                $stawka_vat = 0.03;
            break;
            case "vat5":
                $stawka_vat = 0.05;
            break;
            case "vat7":
                $stawka_vat = 0.07;
            break;
            case "vat8":
                $stawka_vat = 0.08;
            break;
            case "vat22":
                $stawka_vat = 0.22;
            break;
            case "vat23":
            default;
                $stawka_vat = 0.23;

        }

        $cenna_brutto = $kwota_netto + ($kwota_netto * $stawka_vat);
        $kwota_netto = number_format($kwota_netto, 2);
        $cenna_brutto = number_format($cenna_brutto, 2);

        $message = "<b>Nazwa produktu: </b>" . $nazwa_produktu . PHP_EOL
                 . "<b>Cena netto: </b>" . $kwota_netto . " " . $waluta . PHP_EOL
                 . "<b>Cena brutto: </b>" . $cenna_brutto . " " . $waluta . PHP_EOL
                 . "<b>Stawka vat: </b>" . ($stawka_vat * 100) . "%";
    } else {
        $message = "";
    }
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Dodawwanie produktu</title>
    <style>
        body {
            font-family: "Lucida Console", Courier, monospace;
            font-size: 18xp;
        }
        input {
            margin: 5px 10px;
            padding: 4px;
        }
        input[type="submit"]:hover {
            cursor: pointer;
        }
        :-ms-input-placeholder { /* Internet Explorer */
            font-size: 0.6rem;
            color: green;
        }
        ::placeholder {
            font-size: 12px;
            color: green;
        }
        label {
            margin: 5px;
        }
        pre {
            font-size: 1rem;
            margin: 5px;
        }
    </style>
</head>
<body>
    <form method="post" action="">
        <input type ="text" name="nazwa_produktu" placeholder="NAZWA PRODUKTU" />
        <br>
        <input type ="number" name="kwota_netto" value="0.00" step="0.01" placeholder="KWOTA NETTO" />
        <br>
        <input type ="text" name="waluta" value="pln" placeholder="WALUTA: PLN" readonly />
        <br>
        <label for="stawka_vat">STAWKA VAT:</label>
            <select name="stawka_vat" id="stawka_vat">
                <option value="vat23" selected> 23% </option>
                <option value="vat22"> 22% </option>
                <option value="vat8"> 8% </option>
                <option value="vat7"> 7% </option>
                <option value="vat5"> 5% </option>
                <option value="vat3"> 3% </option>
                <option value="vat0"> 0% </option>
                <option value="vatzw"> z.w. </option>
                <option value="vatnp"> n.p. </option>
                <option value="vatoo"> o.o. </option>
            </select>
        <br>
        <input type ="submit" name="oblicz" value="OBLICZ" />
    </form>
    <div id="message"><pre><?php echo $message;?></pre></div>
</body>
</html>

Podobne pytania

0 głosów
1 odpowiedź 229 wizyt
pytanie zadane 10 kwietnia 2019 w PHP przez niezalogowany
0 głosów
0 odpowiedzi 98 wizyt
pytanie zadane 14 lutego 2017 w PHP przez Myszax Nowicjusz (120 p.)
0 głosów
1 odpowiedź 332 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...