Proszę o sprawdzenie co jest nie tak, dlaczego pluje mi errory?

Strona to https://ikc.biblioteka.ilawa.pl/
55ce1096-e8c1-48cb-a6f2-c6263ea929dc
9edfb75f-fd4f-4af6-ab1a-641009a37fde
acgp

Foreach oczekuje tablicy, nie wiadomo co przychodzi ale z defaultu przypisujesz string.

rebe-szunis

@Bezbronny Dodaj może jakis tag dla zasięgu.

Vuaaas

@Bezbronny Dobrą praktyką jest nie przesyłanie wartości true/false jako parametr i tworzenie warunków, tylko stworzenie osobnej funkcji dla każdego przypadku. W twoim kodzie było by to podzielenie funkcji "url" na: "url" i "urlSaveParams" gdzie pierwszy wariant obsługiwałby to co jest w "else" a drugi to co jest w "if". Widać potem lepiej jak działa program podczas wywoływania funkcji. Oprócz tego możesz zrobić if($arg) zamiast if($arg!=nulll), a nawet użyć if/else jednolinijkowego


$url .= $arg ? "$arg=$val/" : "$val/";


Tę listę ifów też bym zmienił, jako np. listę z możliwymi parametrami i osobną funkcją do pobiewrania, np.

$paramsCanBeSaved = [['name' => 'id', 'inUrl' => true], ['name' => 'foo', 'inUrl' => false]];

foreach($paramsCanBeSaved as $param) {

getSavedParam($param); //funkcja wywołuje to co w if, lub po prostu wklejasz tu to co masz w if

}


Wtedy masz do edycji tylko listę zamiast dodawania kolejnego warunku, potem możesz dodać tę listę do bazy danych i stamtąd dynamicznie dodawać sobie kolejne parametry do sprawdzenia bez konieczności edycji kodu.


Tak nawiasem mówiąc to dodawanie tego w ścieżce jest trochę niekonwencjonalne, ja użyłbym query buildera, wtedy masz jedną funkcję: https://www.php.net/manual/en/function.http-build-query.php

I link wygląda tak: www.foobar.com?name=asd&sort=desc

Bezbronny

Widzę, że to będzie coś grubszego. Ja jestem skromnym Technikiem Informatykiem. Serwis zrobię, ale kodu php nie napiszę. Ten, który napisał ten kod, już dawno w bibliotece nie pracuje. Teraz Serior admin czy jak to się zwie w korpo, i "nie mam czasu na takie pierdoły"

Zaloguj się aby komentować