Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP] Problem w pobieraniu danych przez JS, Tak mi się przynajmniej wydaje
MateuszRyaN
post
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...
  1. echo "<li style='list-style-type:none; padding:3px;' onClick='fill(\"".$result->nazwa_firmy." , nip: ".$result->nip."\");'>".$result->nazwa_firmy." , nip: ".$result->nip."</li>";


Nie wiem...macie jakieś pomysły? Jak trzeba to mogę wrzucić część skryptu ale powiedzcie co.
Pozdrawiam,
RyaN.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MateuszRyaN
post
Post #2





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?

  1. <script type="text/javascript">
  2. function lookup(inputString) {
  3. if(inputString.length == 0) {
  4.  
  5. $('#sugestia').hide();
  6. } else {
  7. $.post("search_nabywca.php", {queryString: ""+inputString+""}, function(data){
  8. if(data.length >0) {
  9. $('#sugestia').show();
  10. $('#autoSugestiaLista').html(data);
  11. }
  12. });
  13. }
  14. }
  15.  
  16. function fill(thisValue) {
  17. $('#inputString').val(thisValue);
  18. setTimeout("$('#sugestia').hide();", 200);
  19. }

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ć.
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.09.2025 - 05:09