jakbyś dokladnie przeczytał, to pewnie byś zrozumiał.. no ale może masz rację, nie pamięta wół jak cielęciem był. Postaram się napisać inacczej.
undefined variable jest wywalane, gdy próbujesz użyć zmiennej która nie istnieje
undefined index jest wywalane, gdy próbujesz użyć elementu tablicy który nie istnieje.
Za dużo kodu nie podałeś, więc ciężko mi na jego przykładzie coś mówić. Napiszę więc po swojemu.
if(jakas_funkcja()==false)
$error=1;
Jeśli jakas_funkcja zwróci false, to $error będzie zdefiniowana i jej użycie np. takie:
if($error=2)
nie będzie wywalało błędu.
w przeciwnym wypadku, zmienna nie będzie zdefiniowana, interpreter nie będzie znał tej zmiennej i dlatego wywali błąd.
Rozwiązaniem uprzednie sprawdzenie czy zmienna została zdefiniowanaq, czyli np:
drugim sposób, który byś znał, gdybyś znał jakikolwiek język kompilowany to zdeiniowanie od razu tej zmiennej, aby mieć zawsze pewność, że ona istnieje. np.
$error=0;
if(jakas_funkcja()==false)
$error=1;
if($error=1)
{
}