![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem. Posiadam autocompletera który działa następująco. W pliku np. szukaj.php jest skrypt który wykonuje zapytanie do bazy poprzez LIKE (fraze lub część frazy) i pobiera elementy do znaczników <li></li> i podpięty jest pod onclick fill().
W głównym pliku php, po wpisaniu frazy, wysuwają mi się pozycje uzyskane z bazy, po kliknięciu w element wyświetlany jest jako value w polu input. proste. Wszystko działa ślicznie pięknie bez zarzutów jeżeli wybiorę z listy pozycję np. typu: to jest pierwszy przykład. Natomiast skrypt zachowuje się bardzo dziwnie i nie pokazuje mi w polu input zawartości bazy jeżeli wybiorę rekord typu: to jest "drugi" przykład. Podsumowując -> skrypt działa poprawnie tylko wtedy gdy wybiorę stringa bez cudzysłowiów...jeżeli w liście pojawi się słowo w cudzysłowiu...sypie się. 1. myslałem że coś z kodowaniem, zmieniałem, kombinowałem ale zmiany nic nie dały. 2. potem myślałem że coś w tej linii jest nie tak, że któreś cudzysłówia czy apostrofy się wykluczają...ale nie widze tu błędów...
Nie wiem...macie jakieś pomysły? Jak trzeba to mogę wrzucić część skryptu ale powiedzcie co. Pozdrawiam, RyaN. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Widocznie nie filtrujesz danych, które otrzymujesz z formularza. Pokaż to zapytanie, ale najpierw przeczytaj o np. http://pl2.php.net/manual/en/function.mysq...cape-string.php
Najlepiej by było, żebyś za pomocą np. FireBuga (w firefoxie) sprawdził jaka dokładnie jest odpowiedź servera i czy nie ma w niej błędu sql. Ten post edytował Valker 23.04.2011, 21:03:31 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cytat This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. Jesli już podajesz linki, to popatrz. Obecnie używa się mysql_real_escape_string albo niezależnego od bazy addslashes Ten post edytował mat-bi 23.04.2011, 21:04:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Aaa...no to by wiele tłumaczyło ;]
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
No fakt ;P
Niestety dawno już tej funkcji nie używałem i wrzuciłem nazwę z pamięci (linka też nawet nie sprawdzałem co tam jest napisane) (IMG:style_emoticons/default/tongue.gif) Najważniejsze, że problem został rozwiązany (?) ;P |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Niezupełnie...to oznacza że mam się pozbyć tej funkcji czy zastąpić ją inną, czy może da się to jakoś ominąć?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Heh nawet nie spojrzałem na twój post ;P
Tak czy ianczej zapytanie wygląda poprawnie i wydaje się, że nie powinno sprawiać problemów. Sprawdzałeś za pomocą Firebufa lub innego narzędzia deweloperskiego (jak to nazwane jest w innych przeglądarkach) co dokładnie zwraca zapytanie do bazy przez ajax? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi o problem to wiem o co chodzi, w sumie to nie potrzebuje filtrować żadnych danych bo one już w tej bazie są...więc pozbyłem się tej funkcji.
A co do FireBuga...to powiem Ci szczerze że używam tego na codzień do podglądów styli błędów itp...ale nie wiem gdzie jest ta kontrola po stronie serwera o której mówisz (IMG:style_emoticons/default/biggrin.gif) Gdzie się to włącza? Mam najnowszą wersje FireBuga pod firefoxa 4.0 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Zależy czego używasz do obsługi AJAX, ale jak np. jquery to w zakładce "Konsola" powinien pojawiać się wpis dla wysłanego żądania przez AJAX. Widać tam nagłówki, dane przesyłane do servera oraz dokładnie jaka jest odpowiedź servera. Ale jeśli nie jest to błąd z zapytaniem (jak podejrzewałem na początku, ale już wiemy, że nie) to nie będzie tam żadnego błędu ;D A filtrować dane powinieneś nawet jak je pobierasz. Poczytaj o sql injection ;P
Tak czy inaczej nie mam pomysłu na powód, który powoduje twój problem (IMG:style_emoticons/default/sad.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Czytałęm o SQL Injaction czytałęm (IMG:style_emoticons/default/tongue.gif) Dlatego defakto przywróciłem tą funkcję...
Ale rzecz w tym że nawet bez mysql_real_escape_string nie chodziło (IMG:style_emoticons/default/tongue.gif) Tak używam jQuery... może w JS coś jest nie tak? (IMG:style_emoticons/default/tongue.gif) Znasz sie troche?
Ale no cholera z JS też wygląda na to że jest wrzystko OK... (IMG:style_emoticons/default/sad.gif) Valker... w tym firebugu wszystko śmiga ok. Wszystko na zielono... ale jak wybiore z tym apostrofem to wywala mi takie coś: missing ) after argument list [Wstrzymuj na tym błędzie] fill(""DAREX" Usługi i Handel Sokół Dariusz , nip: 647-235-43-81"); EDIT. kurde no już wiem gdzie jest ten błąd. Sypie się przy tej funkcji onclick... Czy istnieje jakieś rozwiązanie na pobieranie elementów z bazy, które zawierają cudzysłowia?? To nikt nie pomoże?? Kombinowałem ale nic z tego...jak pobiera mi stringa z cudzysłowem to pierwszy cudzysłów jakby zamyka funkcje ;/ Nie wiem... nie umiem sobie sam poradzić. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:05 |