Witam mam problem, otóż mam do wykonania stronę która:
Wykorzystując mechanizm "sesji" stwórz prostą stronę, na której użytkownik:
podaje swoją nazwę (od tej chwili nazwa powinna się wyświetlać na stronie po każdym przeładowaniu strony)
w każdym kolejnym kroku wyświetlana jest suma i średnia podanych liczb, a użytkownik może albo podać kolejną liczbę, albo zakończyć sesję (na kolejnym ekranie wyświetlone zostanie podsumowanie zawierające: ostateczną średnią, sumę i listę podanych liczb, a sesja zakończona).
Dla uproszczenia można założyć, że maksymalnie będzie można podać 20 liczb. "
Szkielet kodu i pomysł mam ale natknąłem się na kilka problemów z którymi nie mogę sobie poradzić. Gdy wpisuję swoją nazwę i odświeżam stronę, zmienna sesyjna działa i wypisuje moją nazwę, ale w momencie w którym wpisuję liczbę do tablicy srednia moja nazwa zostaje usunięta (zmienna sesyjna traci przypisaną wartość), nie wiem jak temu zaradzić, próbowałem użyć do tego ciasteczek ale wynik był taki sam.
Drugim problemem jest zapisywanie liczb do tablicy srednia. W momencie jak zapiszę jedną wartość do tablicy wyświetla się ona normalnie, ale jak wpiszę drugą wartość to ta pierwsza zostaje nadpisana. Próbowałem zrobić array() z tablicy zmiennych sesyjnych ale wtedy przy wypisywaniu wypisuje się tylko pierwszy znak (tu potrzebowałbym tablicy intów). Pomyślałem, żeby użyć ciasteczek w których cyfry te byłyby zapisywane a skrypt php po prostu by je sczytywał i wypisywał średnią, sumę i listę, ale nie mam pojęcia jak mogę to zaimplementować. Wszelkie sugestie, strony na których mógłbym się czegoś więcej dowiedzieć mile widziane.
<!DOCTYPE html>
<?php
session_start();
$nazwa;
$srednia = array();
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
<html lang="pl">
<head>
<link rel="stylesheet" type="text/css" href="srednia.css">
<meta charset="utf-8" />
<title> Strona internetowa</title>
<meta name = "description" content = "Pierwsza strona internetowa, cwiczenie 2.2" />
<meta http-equiv = "X-UA-Compatible" content="IE=edge" />
<meta name="keywords" content="HTML,CSS,CWICZENIA" />
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-store, no-cache, must-revalidate">
<meta http-equiv="cache-control" content="post-check=0, pre-check=0">
<link rel="icon" href="favicon.jpg" sizes="16x16" type="image/png">
<meta http-equiv="pragma" content="no-cache">
</head>
<body>
<br/><br/>
<form action="srednia.php" method="get">
<label for="name">Podaj swoją nazwę</label><br>
<input type="text" id="name" name="name"><br>
<input type="submit" value="Potwierdź">
</form>
<br/>
<?php
// $cookie_name = "ciasteczko";
// @$cookie_value = $_GET["name"];
// setcookie($cookie_name,$cookie_value, time() + (86400 * 30), "/");
// echo $_COOKIE['ciasteczko'];
$_SESSION['Nazwa'] = $_GET["name"];
if(isset($_SESSION['Nazwa']))
{
echo "Witaj ".$_SESSION['Nazwa'];
}
?>
<br/><br/>
<form action="srednia.php" method="get">
<label for="num">Podaj cyfrę</label><br>
<input type="text" id="num" name="num"><br>
<input type="submit" value="Potwierdź">
</form>
<?php
@$_SESSION['Srednia'] = $_GET["num"];
@$srednia[] += $_SESSION['Srednia'];
echo $srednia[0];
//echo $_SESSION['Srednia'];
?>
<br>
<form>
<label for="endsess">Zakończ aktualną sesję</label><br>
<input type="submit" value="Zakończ" name='endsess'>
</form>
<?php
//echo $_SESSION['Nazwa']
?>
<br/>
</body>