![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam szanowne grono forumowiczów
![]() Mam problem z działaniem potrójnego selecta z lokalizacją (klasyczne country, state, city). index.php
ajax.php
Teraz, problem w tym, że pomimo iż skrypt działa, bo wyświetla prawidłowe wyniki z bazy danych, to z jakiegoś powodu php wyrzuca na ekran błędy:
Próbowałem już na wszystkie znane mi sposoby to naprawić i nadal nie wiem w czym problem. Z góry dzięki za pomoc. Pozdrawiam ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Komunikat bledu jest dosc wyrazny...
W necie pelno rzeczy na ten temat... Przenosze. Problem nie ma zadnego zwiazku z AJAX. Co do problemu: nie: $country = $_GET["country"]; a: $country = isset($_GET["country"]) ? $_GET["country"] : null; Analogicznie reszta -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Albo w PHP7 $country = $_GET['country'] ?? null; (trzymam się wersji że v7 była tak dawno wydana że nie stanowi już problemu, zwlaszcza że niedługi 7.2).
Poza tym korzystasz z jquery zatem poc co ci ten obiekt XMLHttpRequest? Nigdzie nie sprawdzasz co zwraca zapytanie a że jest podatne na sql injection zwrócić może cokolwiek. I tak masz śmietnik ale możesz zacząć od wyrzucenia onChange="changeState()" -> zewnętrzny plik i .on() https://prophp.pl/article/15/jquery%2C_zdar...e_metoda_%24.on -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@viking jeszcze troche minie zanim zaczne podawac na forum skladnie php7. Ludzie tutaj potrafia siedziec na starociach
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rok i 10 miesięcy to staroć
![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mialem na mysli starsze starocie
![]() I co z tego ze hostingi maja php7. Ja mowie o szarych uzytkownikach, ktorzy pomimo, ze maja php7 na hostingu to nadal siedza na php5.3 ![]() @aerospeed sorry za lekki offtopic ktory tu ci robimy ale takie nudy na forum.... ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki panowie
![]() Oba sposoby działają. Zakładam, że to jest to samo wyrażenie tylko pod inne wersje php? Cytat(viking) Nigdzie nie sprawdzasz co zwraca zapytanie(...) Nie bardzo rozumiem ![]() Cytat(nospor) sorry za lekki offtopic ktory tu ci robimy ale takie nudy na forum.... Jęsli o to chodzi to dla mnie to żaden problem na forum się rozmawia o wszystkim ![]() Cytat(viking) Poza tym korzystasz z jquery zatem poc co ci ten obiekt XMLHttpRequest? I tak masz śmietnik ale możesz zacząć od wyrzucenia onChange="changeState()" -> zewnętrzny plik i .on() Korzystałem z poradnika jak napisać ten skrypt i bardzo nie podobało mi się użycie document.getElementByID, co mogłem zamieniłem na jquery. Jednakże nie jestem jakiś biegły w javascipt (pewnie widać ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Oba sposoby działają. Zakładam, że to jest to samo wyrażenie tylko pod inne wersje php? Podane przez vikinga dziala tylko na php7. Podane przeze mnie dziala na kazdej wersji php. Co nie zmienia faktu, ze jednak masz php7 co sie chwali i lepiej bys uzywal skladni php7 (tej od vikinga) bo jest lepsza/krotsza/piekniejsza/laski szaleja jak jej uzywasz... ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Słowem podsumowania: czy zawsze, kiedy robię porównanie zmiennej w ajax, powinienem dodać na końcu "?? null;"?
Bo nie wiem czy to jest kwestia tego konkretnego przykładu, czy też taki błąd będzie zawsze. Cytat('nospor') lepiej bys uzywal skladni php7 (tej od vikinga) bo jest lepsza/krotsza/piekniejsza/laski szaleja jak jej uzywasz... hehe ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
to nie jest zadna zmienna AJAX. To jest zmienna ktora pochodzi z URL i niewazne czy to idzie przez normalny link czy przez AJAX.
Kolejna sprawa tu nie chodzi o zmienne URL tylko o generalnie dobieranie sie do indexu tablicy (tak, $_GET to tablica), ktory nie istnieje. Generalnie lezysz na podstawach i moze wpierw wypadaloby ogarnac podstawy php, zmienne, tablice, teksty, petle, if a dopiero potem brac sie za budowanie czegos. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast XHR http://api.jquery.com/jquery.ajax/
mysqli::query http://php.net/manual/en/mysqli.query.php ma definicję gdzie to mixed to Cytat Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE. Czyli u ciebie może się zdarzyć kod false->num_rows > 0 O sql injection już pisałem. Poczytaj o prepare. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:18 |