Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Sprawdzenie poprawności wpisanych danych
Forum PHP.pl > Forum > Przedszkole
talia
Jeszcze jedno pytanie w sprawie dziennika lekcyjnego, jeśli pozwolicie.
Jak zabezpieczyć wpisywanie ocen, żeby nauczyciel nie wpisał oceny np. 7? I nie wybrał niewłaściwego numeru ucznia czy przedmiotu?Formularz dodania ocen:
  1. <h4>Wstawianie oceny</h4>
  2. <form action="add_grade.php" method="post">
  3. <tr><td>Nr ucznia w dzienniku:<td><input name=name></tr>
  4. <tr><td>Id przedmiotu:<td><input name=subject></tr>
  5. <tr><td>Ocena:<td><input name=grade></tr>
  6. <p>
  7. <input type=submit value="Wyślij">
  8. <input type=reset value="Wyczyść pola">
  9. </form>


i add_grade.php - dodawanie ocen:

  1. <?php
  2. $form_name = $_POST["name"];
  3. $form_subject = $_POST["subject"];
  4. $form_grade = $_POST["grade"];
  5.  
  6. // tu łączenie z bazą
  7.  
  8. $dopisanie = "insert into grade_of_pupil (id_pupil, id_subject, id_grade)
  9. values (\"$form_name\", \"$form_subject\", \"$form_grade\")";
  10.  
  11. $odp1 = mysql_query($dopisanie, $db_link);
  12.  
  13. $pytanie = "select name, GROUP_CONCAT(id_grade) as oceny
  14. from user
  15. inner join
  16. grade_of_pupil on user.id_user=grade_of_pupil.id_pupil
  17. inner join
  18. teacher_of_subject on grade_of_pupil.id_subject=teacher_of_subject.id_subject
  19. inner join
  20. pupil_from_class on grade_of_pupil.id_pupil=pupil_from_class.id_pupil
  21. where id_teacher =".$user."
  22. group by grade_of_pupil.id_pupil";
  23.  
  24. $zbior_wynikowy = mysql_query($pytanie, $db_link)
  25. or die ("Błąd w zapytaniu\n");
  26.  
  27. while ($wartosci = mysql_fetch_assoc($zbior_wynikowy))
  28. {
  29. $tekst = "<b>" . $wartosci['name'] . "</b> :" ;
  30. $tekst .= $wartosci['subject'] . " ";
  31. $tekst .= $wartosci['oceny'];
  32. echo "$tekst <br>\n";
  33. }
  34. mysql_close($db_link);
  35. ?>

Turson
Co do oceny, to można wspomóc się HTML5 pattern http://jsfiddle.net/QxD6D/
I w PHP
  1. if($form_grade>0 && $form_grade<7)
kpt_lucek
Witaj
Cytat(Turson @ 15.06.2014, 11:38:28 ) *
Co do oceny, to można wspomóc się HTML5 pattern http://jsfiddle.net/QxD6D/
[...]


Powiem tak, założyłbym że nauczyciel nie posiada przeglądarki z html5 (chyba że są to komputery stojące w szkole i na pewno nowego html'a obsługują). Od roku pracuję w wydawnictwie w dziale IT i przyznam się że myślałem że nauczyciele raczej należą do tej grupy osób która z tym problemów mieć nie będzie... Bywa różnie.

Ja bym wykonał tą walidację podwójnie, mianowicie:
a) po stronie klienta z użyciem JS (jQuery jak wolisz)
cool.gif po stronie php
Cytat(Turson @ 15.06.2014, 11:38:28 ) *
[PHP] pobierz, plaintext
if($form_grade>0 && $form_grade<7)
[PHP]


Przed tym zastrzegłbym jeszcze samą wartość tak aby skrypt przyjmował wartości 2, 2.5, 3, 3.5...
Cytat(talia @ 15.06.2014, 11:29:28 ) *
[...]I nie wybrał niewłaściwego numeru ucznia czy przedmiotu?[...]


Możesz "wspomóc" formularz ładując odpowienie numery (ewentualnie z danymi) do rozwijanego select'a.
Turson
Walidacja formularza po stronie HTML5 jest jedynie miłą opcją, albo będzie zauważona albo nie. Jak przeglądarka nauczyciela to "zobaczy", to będzie jakiś plus, jak nie to mówi się trudno wink.gif
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.