Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Średnia
Forum PHP.pl > Forum > Przedszkole
carck3r
Witam
Napisałem sobie małą stronę do obliczania średniej, jednak nie wiem jak tą średnią obliczyć biggrin.gif.
http://www.czymail.yoyo.pl
Na stronie można dojść do strony /przedmioty_step_2.php i dalej jest pusta strona. Dlaczego? Bo nie wiem jak obliczyć średnią.
Kod przedmioty_step_2.php:
  1. <?php
  2. require('config.php');
  3. include('gora.txt');
  4.  
  5.  
  6. // podzielenie przedmiotów i włożenie do tablicy
  7. $tablica = explode(" ",$przedmioty);
  8.  
  9. // obliczenie ilości przedmiotów
  10. $ilosc = count($tablica) - 1;
  11. $ilosc2 = count($tablica);
  12.  
  13. // wypisanie ilości przedmiotów
  14. echo '<div style="background-color: #fff7d9">Ilość przedmiotów: <span style="color: red; font-weight: bold">'.$ilosc2.'</span><br /></div>';
  15.  
  16. echo "<div style='background-color: #fffdf4'><br />Wypisz oceny w skali od 1 do 6.<br /></div>";
  17.  
  18. ?>
  19. <form action="srednia.php" method="post">
  20. <?php
  21. for ($i=0;$i<=$ilosc;$i++)
  22. {
  23. echo "<div style='background-color: #fffdf4'>$i. ".'<span style="font-size: 14px;color: green;font-weight: bold">'.strtoupper($tablica[$i]).'</span>'." - <span style='font-weight: bold'>Twoja ocena:</span> "."<input type='text' maxlength='1' size='1' name='$tablica[$i]' /><br /><br />\n</div>";
  24. }
  25. ?>
  26. <input type="submit" value="Oblicz średnią!">
  27. </form>
  28. <?php
  29. include('dol.txt');
  30. ?>

config.php:
  1. <?php
  2. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  3. $nick = $_POST['nick'];
  4. $przedmioty = $_POST['przedmioty'];
  5.  
  6. ?>

Jak widać w pliku przedmioty_step_2.php użyłem pętli do wyświetlania przedmiotów. Teraz nie mam pojęcia jak mogą nazywać się zmienne wprowadzone przez usera (bo np. Język Polski możesz zapisać jako: j.polski albo polski albo jezyk_polski etc.). W jaki sposób sprawdzić te zmienne?

Dzięki za odpowiedzi. Pozdrawiam.

edit:
Plik przedmioty.php:
  1. <?php
  2. include('gora.txt');
  3. require('config.php');
  4.  
  5. $sciezka = "$DOCUMENT_ROOT/pliki/$nick.txt";
  6. if(file_exists($sciezka))
  7. {
  8. echo "Już jest osoba o takim nicku lub nie podałeś/aś nicku.";
  9. }
  10. $uchwyt = fopen($sciezka,'wb'); // utworzenie pliku
  11. if(!$uchwyt)
  12. {
  13. echo "Nie można otworzyć pliku.";
  14. }
  15. fclose($uchwyt);
  16. ?>
  17. Wypisz przedmioty(oddzielaj spacjami):
  18. <form action="przedmioty_step_2.php" method="post">
  19. <table border="0">
  20. <tr>
  21. <td><input type="text" name="przedmioty" /></td>
  22. </tr>
  23. <tr>
  24. <td><input type="submit" value="Dalej"></td>
  25. </tr>
  26. </table>
  27. </form>
  28. <?php
  29. include('dol.txt');
  30. ?>
kefirek
W plik przedmioty_step_2.php zmień name='$tablica[$i]' nazwę na name='srednia[]' Potem sumujesz tylko tablice i dzielisz przez liczbe przedmiotów czyli możesz np. na końcu kodu dodać
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. $suma = array_sum($srednia);
  4. $srednia = $suma / $ilosc2;
  5. echo "Twoja srednia ".number_format($srednia, 2)."";
  6. }
  7. ?>


Do przycisku formularza dodaj name="submit" oraz <form action="przedmioty_step_2.php" method="post">
I będzie liczyć srednią

A najlepiej to zrobic tak cały plik przedmioty_step_2 powinien wyglądać tak
  1. <?php
  2. require('config2.php');
  3. include('gora.txt');
  4. if (isset($_POST['submit'])) {
  5.    
  6. foreach ($_POST['srednia'] as $liczba) {
  7. $suma[] = $liczba;
  8. }
  9. $ile = array_sum($suma);
  10. $ile2 = count($_POST['srednia']);
  11. $srednia = $ile / $ile2;
  12. echo "Twoja srednia ".number_format($srednia, 2)."";
  13.  
  14. } else {
  15.  
  16. // podzielenie przedmiotów i włożenie do tablicy
  17. $tablica = explode(" ",$przedmioty);
  18.  
  19. // obliczenie ilości przedmiotów
  20. $ilosc = count($tablica) - 1;
  21. $ilosc2 = count($tablica);
  22.  
  23. // wypisanie ilości przedmiotów
  24. echo '<div style="background-color: #fff7d9">Ilość przedmiotów: <span style="color: red; font-weight: bold">'.$ilosc2.'</span><br /></div>';
  25.  
  26. echo "<div style='background-color: #fffdf4'><br />Wypisz oceny w skali od 1 do 6.<br /></div>";
  27.  
  28. ?>
  29. <form action="przedmioty_step_2.php" method="post">
  30. <?php
  31. for ($i=0;$i<=$ilosc;$i++)
  32. {
  33. echo "<div style='background-color: #fffdf4'>$i. ".'<span style="font-size: 14px;color: green;font-weight: bold">'.strtoupper($tablica[$i]).'</span>'." - <span style='font-weight: bold'>Twoja ocena:</span> "."<input type='text' maxlength='1' size='1' name='srednia[]' /><br /><br />\n</div>";
  34. }
  35. ?>
  36. <input type="submit" value="Oblicz średnią!" name="submit">
  37. </form>
  38. <?php
  39. }
  40. include('dol.txt');
  41. ?>
carck3r
Zaraz wszystko zrobię. Dam EDIT jak zadziała. Dzięki.

edit: działa, dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.