Napisałem prosty kalkulator, który ma za zadanie liczyć równanie kwadratowe. Do tego celu zrobiłem 2 strony:
pierwsza - index.php gdzie jest formularz,
druga - kalkulator.php gdzie znajduje się cały skrypt. Program działa jak powinien, jednak mam pewien problem. Otóż chciałbym, aby wyniki wyświetlały się w tabelce pod spodem formularza. Niestety nie wiem jak sobie z tym poradzić z tego względu, jeśli wrzuce cały kod PHP to wyskakują błędy:
Niezadeklarowane zmienne, ale jakim cudem skoro są zadeklarowane w kodzie? O to mój kod index.php:
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<title>Równanie kwadratowe</title>
<style>
h1{
text-align: center;
}
table{
font-family: Arial;
}
tr{
text-align: center;
}
</style>
<head>
</head>
<body>
<h1>Kalkulator liczący równanie kwadratowe</h1>
<!-- Tabelka 1 - wprowadzanie danych -->
<form method="post">
<table align="center" border="1" width="200" height="300">
<tr>
<td width="100">Podaj A:</td>
<td width="100"><input type="text" name="a" size="5" maxlength="8" /></td>
</tr>
<tr>
<td width="100">Podaj B:</td>
<td width="100"><input type="text" name="b" size="5" maxlength="8" /></td>
</tr>
<tr>
<td width="100">Podaj C:</td>
<td width="100"><input type="text" name="c" size="5" maxlength="8" /></td>
</tr>
<tr>
<td width="100" colspan="2"><input type="submit" value="Policz"/><input type="reset" value="Wyczyść"/></td>
</tr>
</table><!--/koniec Tabelka 1-->
</form>
<br /><br />
<!-- Tabelka 2 - wypisanie wyniku -->
<table align="center" border="1" width="200" height="500">
<tr>
<td width="100">Delta:</td>
<td width="100"><?php $delta ?></td>
</tr>
<tr>
<td width="100">Liczba rozwiązań:</td>
<td width="100"></td>
</tr>
<tr>
<td width="100">X0:</td>
<td width="100"></td>
</tr>
<tr>
<td width="100">X1:</td>
<td width="100"></td>
</tr>
<tr>
<td width="100">X2:</td>
<td width="100"></td>
</tr>
</table><!--/koniec Tabelka 2-->
<?php
/* Deklaracja zmiennych: a, b, c */
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
/* Deklaracja zmiennych: delta, x0, x1, x2 */
$delta = pow($_POST['b'], 2) - 4 * $_POST['a'] * $_POST['c'];
$x0 = -($_POST['b']) / (2 * $_POST['a']);
$x1 = -($_POST['b']) - sqrt($delta) / (2 * $_POST['a']);
$x2 = -($_POST['b']) + sqrt($delta) / (2 * $_POST['a']);
/* Sprawdzamy czy pola: a, b, c nie są puste i czy są to liczby */
if(!empty($_POST['a']) AND is_numeric($_POST['a']) AND !empty($_POST['b']) AND is_numeric($_POST['b']) AND !empty($_POST['c']) AND is_numeric($_POST['c']))
{
echo 'Delta wynosi: ' . $delta .'<br />';
}
else
{
echo 'błąd';
}
if($delta > 0) // jeśli delta większa od 0 to wykonaj: x1, x2
{
echo 'Liczba rozwiązań 2!<br />';
echo 'x1 wynosi: ' .round($x1, 2) .'<br />';
echo 'x2 wynosi: ' .round($x2, 2) .'<br />';
}
elseif($delta == 0) // jeśli delta równa 0 to wykonaj: x0
{
echo 'Liczba rozwiązań 1!<br />';
echo 'x0 wynosi: ' .round($x0, 2) .'<br />';
}
elseif($delta < 0) // jeśli delta mniejsza od 0 to brak rozwiązań
{
echo 'Brak rozwiązań';
}
?>
</body>
</html>