Jak pousuwa underfined index? Jezeli mam 50 zmiennych w jednym pliku? A plikow mam 100? Nie bede pisal chyba po kolei do kazdej zmiennej if(isset())
Popraw. Używanie w kodzie nieistniejącej zmiennej lub elementu tablicy powoduje w kodzie luki. Jeśli poprawisz teraz te kilkaset zmiennych na przyszłość będziesz pamiętał, że należy sprawdzać czy dana zmienna istnieje oraz żeby ustawić jej jakąś domyślną wartość.
czyli wszedzie dam warunek z isset()
Możesz to wyciszyć, co jest brzydką praktyką, ale możesz.
Czasem musisz, bo większość ludzi wycisza NOTICE, więc jak masz zewnętrzną bibliotekę jakąś - to pluje noticami na lewo i prawo i bez wyciszenia nie da rady.
Ale powinieneś pisać poprawnie. Mało który język pozwala na takie atrakcje w ogóle. Jakbyś przeszedł z innego języka na php to byś takich błędów nie robił, a jak przejdziesz z php pisanego w takim stylu na inny język to będzie problem.
@freemp3: wątpię, że undefined index kiedykolwiek może wywołać jakąś lukę.
Pare rad tutaj: http://stackoverflow.com/questions/1242184/how-to-get-rid-of-hundreds-of-php-undefined-index-notices
ale ogolnie, trzeba zmienic myslenie przy budowie aplikacji. bo 50 zmiennych w jednym pliku i tych plikow sto, czyli 5000 zmiennych ktore trzeba sprawdzic?? cos tu nie tak.
wiec pewn ogolnie jest ich sporo mniej, ale nie zweryfikowane na poczatku, poszly dalej i stad. Normalnie w glab kodu nie powinny trafic zmienne o niejasnej wartosci.
to jest kolego bolaczka refaktoryzacji w PHP ;)
Kiedy to ort!, szukam wszedzie zmiennej i sprawdzam czy istnieje, bezsensu. caly dzien bede to robil
Napisze funkcje do tego i tyle?
Przed pierwszym użyciem zmiennej dodaj coś takiego:
$zmienna = null;
Linijki oraz nazwy zmiennych masz podane w komunikatach, więc znalezienie ich nie powinno być problemem.