11.04
This commit is contained in:
1
.idea/php.xml
generated
1
.idea/php.xml
generated
@@ -10,6 +10,7 @@
|
||||
<option name="highlightLevel" value="WARNING" />
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.4" />
|
||||
<component name="PhpStanOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user