• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Walidacja danych z formularza PHP

Konkurs Mistrz Programowania
0 głosów
188 wizyt
pytanie zadane 28 września 2023 w PHP przez dominik808 Nowicjusz (140 p.)

Witam, robie strone z zagadkami w php i mam problem ze sprawdzeniem czy odpowiedz na pytanie wpisana przez uzytkownika w formularzu na stronie, jest zgodna z odpowiedzia przypisana do tego pytania w bazie danych.

Aktualnie zapytanie wygląda tak jak poniżej i o ile gdy odpowiedzia bedzie jeden wyraz (np. "Kasia") to wszystko bedzie ok i skrypt zwroci informacje ze to poprawna odpowiedz, jednak problem pojawia sie gdy odpowiedzia jest konkretne zdanie (np. "łańcuch nie był do niczego przymocowany") a użytkownik wpisze pojedynczy wyraz ("łańcuch").

 

Zapytanie:

SELECT odpowiedzi.odp from zagadeczki, odpowiedzi WHERE odpowiedzi.id=zagadeczki.odp_id AND odp LIKE '%$odpowiedz%'

 

z góry dzięki za pomoc

1 odpowiedź

0 głosów
odpowiedź 29 września 2023 przez VBService Ekspert (256,600 p.)
edycja 29 września 2023 przez VBService

IMO, np.:

  • łańcuch nie był przymocowany
  • koń nie był uwiązany (w sensie za pomocą łańcucha)

w pewnym sensie też są prawidłowymi odpowiedziami, może zrób po prostu system jak na testach, odpowiedzi: a, b, c, d

a. Lorem ipsum
b. Lorem ipsum
c. łańcuch nie był do niczego przymocowany (poprawna odpowiedź)
d. Lorem ipsum

 

lub nawet: "Przy tym pytaniu, można uzyskać do 2pkt."

a. łańcuch nie był przymocowany (poprawna odpowiedź - 1pkt.)
b. Lorem ipsum
c. łańcuch nie był do niczego przymocowany (poprawna odpowiedź - 1pkt.)
d. Lorem ipsum

jeśli zaznaczy tylko a lub tylko c - 1pkt.
jeśli zaznaczy a i c - 2pkt.
jeśli tylko b lub tylko d, lub b i d - 0pkt.
jeśli a i d - 1pkt.   itd.

 

Inna sugestia, to sprawdzenie ile wyrazów z odpowiedzi użytkownika znajduje się w prawidłowej odpowiedzi

        1       2    3   4       5                  6
"łańcuch nie był do niczego przymocowany"

                                              1                                2   3            6
odpowiedź użytkownika: łańcuch leżał luźno nie był przymocowany - 4 trafienia z 6 można uznać za prawidłową

 

        1       2    3   4       5                  6
"łańcuch nie był do niczego przymocowany"  - priorytetowe wyrazy:  nie był, przymocowany

                                                        1                2
odpowiedź użytkownika: koń nie był przymocowany - zawiera 2 wyrazy priorytetowe = prawidłowa odpowiedź

 

można, też mieszać ile wyrazów i jaką cześć stanowią priorytetowe itp.

Podobne pytania

0 głosów
1 odpowiedź 1,877 wizyt
pytanie zadane 20 lipca 2018 w PHP przez dobre.rece Nowicjusz (200 p.)
0 głosów
2 odpowiedzi 1,742 wizyt
pytanie zadane 8 lutego 2017 w HTML i CSS przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 5 grudnia 2021 w PHP przez mat19 Obywatel (1,580 p.)

93,656 zapytań

142,577 odpowiedzi

323,100 komentarzy

63,174 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...