![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Mam wrażenie, że nie rozumiem działania preg_match. Próbuję sprawdzić czy dane z formularza zawierają znaki specjalne. Niezależnie od wyniku, powinno się coś wyświetlić na ekranie. Niestety żaden z returnów się nie pokazuje wcale. (Ten wykomentowany var_dump pokazuje dane z inputów normalnie.) Próbowałem przyrównywać wyniki preg_matchów do false ale to nie pomaga. Właściwie cokolwiek bym nie wpisał, to nic się nie dzieje. Mogę prosić o jakieś wskazówki? Siedzę nad tym dwa dni i dosłownie rzygam już kodem.
Ten post edytował Terrorizer 5.08.2016, 21:46:08 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
A masz włączone wyświetlanie błędów? Bo powinieneś zobaczyć mniej więcej to:
Cytat PHP Warning: preg_match(): No ending delimiter '!' found in [ciach] on line [ciach]
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
To jest chyba jakaś grubsza akcja, która na razie mnie przerasta. Projekt dla którego piszę poprawki nie pokazuje wyechowanych wartości ani nic nie zwraca returnem. Tylko var_dumpy się wyświetlają na ekranie.
Próbuję dopisać kilka instrukcji, ale nic nie działa, tak jakby pół funkcjonalności php była nieaktywna. To wygląda tak jakby cudzysłowia ani apostrofy w kodzie nie były przetwarzane przez serwer. Chociaż to co piszę nie wywala żadnych błędów. Trudno mi to dokładnie opisać. Chyba muszę się z tym przespać i jeszcze przeanalizować wszystko zanim będę kontynuował ten temat. Ten post edytował Terrorizer 6.08.2016, 01:44:01 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
http://stackoverflow.com/questions/1397041...cial-characters
Inna sprawa że powinieneś np unikodowymi grupami znaków operować. |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat To jest chyba jakaś grubsza akcja, która na razie mnie przerasta. Projekt dla którego piszę poprawki nie pokazuje wyechowanych wartości ani nic nie zwraca returnem. Tylko var_dumpy się wyświetlają na ekranie. Próbuję dopisać kilka instrukcji, ale nic nie działa, tak jakby pół funkcjonalności php była nieaktywna. To wygląda tak jakby cudzysłowia ani apostrofy w kodzie nie były przetwarzane przez serwer. echo ci nie wyswietla a var_dump tak? A moze dlatego ze np. $zm = ''; echp $zm; - nie da nic, bo zmienna nic nie ma var_dump($zm); - da cos na ekranie bo var_dump nawet jak nic nie ma to wyswietla swoje rzeczy ? Funkcje ci nie dzialaja i np. preg_match ci nie dziala? Moze dlatego ze nie znasz podstaw wyrazen i nie wiesz, ze poprawne wyrazenie musi sie zaczynac i konczyc tym samym, np '/asd/' - gdzie znak / jest znakiem ktory jest zarowno na poczatku i na koncu i to jest dopiero poporawne wyrazenie a nie tak jak masz ty ze samo 'asd' Bledy ci sie nie wyswietlaja? Moze poprostu nie wlaczyles ich wyswietlania? A jak nie chcesz wyswietlac to moze sa logowane do pliku? Otwierasz php.ini i tam masz wszystko napisane co gdzie jest. A moze bledy sa przechwytywane przez system w ktorym piszesz i to on zapisuje do swoich logow? Apostrofy i cudzyslowia nie sa przetwarzane przez serwer? No prosze cie... Stworz wlasny plik na serwerze test.php i daj w nim echo 'Widzisz mnie?'; echo "A mnie tez widzisz?"; i go sobie odpal a Twoje watpliwosci na temat apostrofow i cudzyslowi zostana rozwiane Kolejna sprawa: a czemu bronisz posiadac uzytkownikowi znakow specjalnych w hasle? Czemu bronisz uzytkownikowi posiadania bezpiecznego hasla? Co do loginu to zamiast szukac znakow specjalnych sprawdzaj czy posiada on znaki dozwolone. zazwyczaj sa to: a-zA-Z0-9_- i po sprawie. I poczytaj wpierw o wyrazeniach regularnych, w necie jest cala masa przykladow jak walidowac login na znaki ktore ci tu podalem. To sa naprawde proste sprawy - naucz sie ich a nie zwalaj winy na serwer. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:48 |