This commit is contained in:
2p01
2025-04-11 13:21:45 +02:00
parent 305379e78d
commit 368bca01bd
4 changed files with 158 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Zadanie T50 - czytanie danych z formularza i wykonywanie operacji matematycznych</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Zadanie T50</h1>
<h2>Autor: Jakub Grzegorczyk</h2>
</header>
<div class="block">
<p>Zapoznaj się z materiałem lekcji i wykonaj zadanie w którym użytkownik za pomocą formularza wprowadza następujące dane:
imię (łańcuch znaków)
nie więcej niż cztery liczby.
Skrypt odczytuje te dane i w pliku wynik.php odpowiada:
"Witaj" z imieniem podanym przez użytkownika "na mojej stronie!!!".
np. Witaj Jolka na mojej stronie!!!
Pozostałe wartości zapisuje w tablicy, wyświetla tą tablicę (za pomocą var_dump) i po konwersji wypisuje sumę oraz średnią podanych wartości.
Uwaga!!!
Skrypt powinien działać nawet jeśli użytkownik zamiast liczb wprowadzi łańcuch znaków.
Obliczając średnią sprawdźcie, ile liczb znajduje się w tablicy (4 to wartość maksymalna, ale może ich być mniej, bo użytkownik podał łańcuch znaków, który nie da się przekonwertować na liczbę. Aby mianownik w średniej był różny od 0 zakładamy, że użytkownik podał przynajmniej jedną liczbę prawidłowo).</p>
</div>
<div class="block">
<form action="wynik.php" method="post">
<label for="imie">Podaj imię: </label><br>
<input type="text" id="imie" name="imie"><br>
<label for="liczba1">Podaj liczbę 1: </label><br>
<input type="text" id="liczba1" name="liczba1"><br>
<label for="liczba1">Podaj liczbę 2: </label><br>
<input type="text" id="liczba2" name="liczba2"><br>
<label for="liczba1">Podaj liczbę 3: </label><br>
<input type="text" id="liczba3" name="liczba3"><br>
<label for="liczba1">Podaj liczbę 4: </label><br>
<input type="text" id="liczba4" name="liczba4"><br><br>
<button type="submit">Pokaż</button>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,51 @@
* {
box-sizing: border-box;
}
body {
font-family: Verdana, serif;
background: #ffffff;
margin: 30px;
}
header {
border: 2px solid black;
border-radius: 1em;
padding: 20px;
box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px;
background: #f0f0f0;
}
.block {
border: 2px solid black;
padding: 20px;
border-radius: 1em;
margin: 10px 0 10px 0;
box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px;
}
input {
margin-top: 10px;
width: 30%;
border: black 2px solid;
border-radius: 0.5em;
height: 2em;
}
button {
padding: 5px;
width: 30%;
border: black 2px solid;
border-radius: 0.5em;
font-weight: bold;
}
pre {
font-family: Verdana, serif;
}
.box p {
padding: 10px 15px 20px;
display: none;
}
.box h3 {
cursor: pointer;
}

View File

@@ -0,0 +1,59 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title>Wynik</title>
</head>
<body>
<?php
$imie = htmlspecialchars($_POST["imie"]);
// Pobranie liczb z formularza
$liczba1 = htmlspecialchars($_POST["liczba1"]);
$liczba2 = htmlspecialchars($_POST["liczba2"]);
$liczba3 = htmlspecialchars($_POST["liczba3"]);
$liczba4 = htmlspecialchars($_POST["liczba4"]);
// Tablica na poprawne liczby
$poprawneLiczby = [];
// Sprawdzanie każdej liczby
if (is_numeric($liczba1)) {
$poprawneLiczby[] = (float)$liczba1;
}
if (is_numeric($liczba2)) {
$poprawneLiczby[] = (float)$liczba2;
}
if (is_numeric($liczba3)) {
$poprawneLiczby[] = (float)$liczba3;
}
if (is_numeric($liczba4)) {
$poprawneLiczby[] = (float)$liczba4;
}
// Obliczanie sumy i średniej
$suma = 0;
foreach ($poprawneLiczby as $liczba) {
$suma += $liczba;
}
$iloscLiczb = count($poprawneLiczby);
$srednia = $iloscLiczb > 0 ? $suma / $iloscLiczb : 0;
// Wyświetlanie wyników
echo "<header><h1>Witaj $imie na mojej stronie!!!</h1></header>";
echo "<div class='block'>";
echo "<h3>Podane liczby:</h3>";
echo "<pre>";
var_dump($poprawneLiczby);
echo "</pre>";
echo "<h3>Suma: $suma</h3>";
echo "<h3>Średnia: $srednia</h3>";
echo "</div>";
?>
</body>
</html>