Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Sprawdzenie poprawności wpisanych danych
talia
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 21.05.2014

Ostrzeżenie: (0%)
-----


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. ?>

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
kpt_lucek
post
Post #3





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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)
(IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:27