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

[PHP] Formularz - funkcja kwadratowa

0 głosów
56 wizyt
pytanie zadane 10 stycznia w PHP, Symfony, Zend przez użytkownika Krzysztof Trybuś Gaduła (3,320 punkty)
zmienione kategorie 10 stycznia przez użytkownika Arkadiusz Waluk

Cześć. Zrobiłem sobie formularz w PHP, który ma za zadanie obliczanie funkcji kwadratowej, niestety po wprowadzeniu danych do formularza i wysłaniu zapytania nic się nie dzieje.... Czy byłby ktoś uprzejmy wskazać mój błąd, którego nie dostrzegam? Jestem początkujący w PHP.

Czy mogę osadzić skrypt html i php w jednym pliku, a potem odwołać się do tego pliku, tak jak ma to teraz miejsce, czy też muszę osadzić skrypt w osobnym pliku?

<html>
    <head>
        <meta charset="UTF-8">
        <title>F-kwadrat</title>
    </head>
    <body>
    <form>

    <?php

    if(isset($_POST["a"])&& isset($_POST["b"])&& isset($_POST["c"]))
    {
        print("<p>Rozwiązanie równania kwadratowego</p>");
        $a = $_POST["a"];
        $b = $_POST["b"];
        $c = $_POST["c"];
        $delta = $b * $b - 4 * $a * $c;
        if ($delta > 0) {
            $x1 = (-$b - sgrt($delta)) / 2 / $a;
            $x2 = (-$b + sgrt($delta)) / 2 / $a;
            print ("Równanie ma dwa pierwiastki<br>");
            print ("x1=$x1<br>");
            print ("x2=$x2<br>");
        }
        else
        {   if ($delta == 0)
        {   $x12 = -$b / (2 * $a);
            print ("Równanie ma jeden pierwiastek<br>");
            print ("x12=$x12<br>");
        } 
		else {
            print ("Równanie nie ma pierwiastków");
        }
    }
     echo'<br><a href="rownanie_kwadrat.php">Rozwiąż jeszcze raz</a>';
    }
    else
   

        ?>
    <p>Równanie kwadratowe</p>

    <form action="rownanie_kwadrat.php" method="post">
          <input type="a" name="a">x<sup>2</sup>+
            <input type="b" name="b">x+
            <input type="c" name="c">=0
    <br>
    <input type="submit" value="rozwiąż">
    <input type="reset" value="wyczyść dane">
    </form>


</body>

   
</html>


Tutaj nie powinno się operować na elseif?  

1 odpowiedź

+1 głos
odpowiedź 10 stycznia przez użytkownika Arkadiusz Waluk Mędrzec (158,360 punkty)
W linii 7 otwierasz niepotrzebnie <form> i nigdzie go nie zamykasz. Być może to w jakiś sposób powoduje problemy z kolejnym otwarciem formularza i coś się źle wysyła.

Poza tym w linii 37 jest else, które nijak nie zadziała. Cały dalszy kod HTML musiałby być np. w klamrach.

No i jeszcze czytelność kodu - w liniach 25-33 wygląda to strasznie, bardzo niewygodnie się czyta raz klamry zapisane tak a raz inaczej, do tego czasem są wcięcia a czasem nie ma.

Podobne pytania

0 głosów
1 odpowiedź 64 wizyt
pytanie zadane 7 marca 2016 w C i C++ przez użytkownika Corazzo Użytkownik (970 punkty)
0 głosów
2 odpowiedzi 48 wizyt
pytanie zadane 7 listopada 2016 w Pascal, Delphi przez użytkownika Patryk Bieganski Nowicjusz (180 punkty)
...