I w rzeczy samej, strona (a raczej struktura drzewa) została wysypana poprzez wprowadzenie duplikatu wartości (np. wprowadzenie drugiego obiektu o wartości 3 na tym samym "poziomie").
Zakładam że przez "została wysypana" masz na myśli "nie dodaje się do drzewa".
Może czegoś nie widzę, ale na moje oko... explicite obsługujesz ten przypadek i na to nie pozwalasz, nie?
// Sprawdzam czy jest już w tabeli taka wartość
$zapytanie="select * from ".$_GET['key']." where val=".$_GET['value'].";";
$wynik = mysqli_query($polaczenie, $zapytanie);
$switch = mysqli_fetch_array($wynik, MYSQLI_ASSOC);
if($switch) exit(1); //Jeśli jest już taka wartość -> "wyłączam" ten plik
A boczne uwagi, tak szczerze, gdybym był rekruterem to raczej byłbym przerażony. Dynamiczne tworzenie tabel per ojciec drzewa; surowe stringowe sklejanie zapytań SQLowych; ręcznie napisany kod sortujący; obsługa ActiveXObject, jakby to miało chodzić na IE6; synchroniczne zapytania XHR (na które sama przeglądarka krzyczy w konsoli)... D: